Kitobni o'qish: «Программируем на Python в Minecraft»
От автора
В 2016 году Крэйг Ричардсон выпустил книгу под названием “Программируем с Minecraft”.
Изучив ее с большим интересом и пройдя все задания, я решил немедленно запустить курс программирования в среде Minecraft в нашей школе программирования “Qiber School”.
Но, перед этим, написал несколько версий заданий, которые отличались от тех, что были в оригинальной книге. Очень хотелось экспериментировать и дать волю воображению!
Так, вместо строительства арбузных блоков на земле, я писал программы, с помощью которых создавал золотые пирамиды и бассейны с кипящей лавой прямо над океаном.
Возводил алмазные мосты, создавал стеклянные кубы, висящие в воздухе, внутри которых помещал различную жидкость. Подобно шахтеру, взрывал подземные шахты гигантскими блоками промышленных динамитов.
Вместо того, чтобы использовать размеры строений, приведенные в книге, я изменял их текстуру на самую забавную, и сразу же увеличивал их в десятки, сотни, и даже тысячи раз, обваливая при этом сервер игры. И каждый раз после этого, создавал и запускал новые миры Minecraft, в которых принимался за новые эксперименты.
И поскольку мой код начал отличаться от кода, данного в книге Крэйга Ричардсона, я решил подробно его комментировать, в деталях объясняя суть и цель каждой его строчки. Делал я это с каждым проектом, от первого до последнего. В оригинальной книге автор комментировал не весь данный код, и мне хотелось это исправить.
Другим дополнением, которое, мне показалось, будет полезным, стали секции с контрольными вопросами после выполнения каждого проекта. Так, наши ученики смогли бы лучше усваивать пройденный материал, а учитель сразу бы понимал, где помочь ребятам.
В результате всех этих изменений и дополнений, то, что начиналось как материал для курса по изучению программирования на Python в Minecraft, превратилось в отдельную книгу, которую вы сейчас и читаете.
Я неплохо позабавился, выполняя представленные здесь задания. Теперь ваша очередь! Объяснения и подсказки будут сопровождать вас на протяжении всего пути.
А я с нетерпением буду ждать вас на той стороне книги. Стороне, до которой вы дойдете самыми настоящими программистами и программистками, написавшими сотни строчек кода, и создавшими десятки маленьких программ.
Удачи, я в вас верю!
Для кого эта книга?
Эта книга предназначена для детей от 8 лет, подростков, студентов и взрослых-новичков, решивших взяться за программирование.
Работая по данной книге и используя Python, вы будете создавать объекты и совершать действия в мире Minecraft. Такой подход поможет вам мгновенно видеть результат собственной работы и получать удовольствие от программирования с первых строчек кода. А минималистичный и простой синтаксис делает Python идеальным языком для начинающих программистов.
Однако, несмотря на свою простоту и легкость, эта книга также прекрасно подходит более опытным программистам, которые хотят повеселиться, а заодно и закрепить то, что уже знают.
Что эта книга Вам даст?
Эта книга содержит 28 проектов, для завершения которых вам потребуется написать сотни строчек кода. А для закрепления полученных знаний и навыков вам также придется ответить на 83 контрольных вопроса, представленных в каждом проекте.
Завершив все этапы, вы заслуженно сможете считать себя самыми настоящими программистами и программистками, способными писать программы!
Но, сначала, давайте посмотрим, что предлагает каждая глава.
“ Введение” расскажет вам о пользе программирования. Расскажет о том, что такое язык программирования Python, и о его возможностях. В этой главе мы также установим и настроим необходимые программы.
В Главе 1 “Переменные – это весело” мы познакомимся с переменными. Узнаем о том, что такое целые и вещественные числа. Научимся использовать модули и функции в Python. И даже отладим ошибки в коде.
Глава 2 “Строительство, большой взрыв и супер-прыжки!” научит нас выполнять математические операции в Python. Расскажет нам о том, как работать с аргументами, и поможет закрепить умение работы с модулями, функциями и более сложными координатами.
В Главе 3 “Строки в Python” мы приступим к работе со строками, научимся выводить данные при помощи функции print. И даже преобразовывать данные в численные и строковые при помощи функций. В этой главе мы также научимся работать с конструкцией обработки исключений try-except.
Глава 4 “Истина или Ложь? Булевы значения в Python”. Как вы поняли из самого названия, в этой главе мы пройдем булевы значения, а также научимся применять логические операции "and", "or", “not".
Как работать с книгой?
Представленные здесь темы идут по принципу “От простого к сложному”, поэтому я настоятельно рекомендую начать с начала, и не пропуская ни одной главы, двигаться вперед. Каждое новое задание содержит в себе элементы предыдущих тем.
Не освоив предыдущий материал, новые задания, скорее всего придутся вам не по зубам. Поэтому лучше ничего не пропускать.
Что содержит каждая тема: Заголовок, Объяснение, Код проекта, Контрольные вопросы.
Преодолев все 4 пункта каждой темы, настоятельно рекомендую поиграть с кодом проекта, прежде чем идти дальше. Изменить в нем что-то, что-то убрать или добавить. А затем запустить его снова, и посмотреть, что изменилось.
Это прекрасный способ полностью понять значение каждой строчки. Не бойтесь ломать код. Вы всегда можете восстановить его по исходнику, который есть в каждом проекте с подробными комментариями.
Важно: недостаточно просто переписывать код, данный в теме, и идти дальше. Вы должны вникнуть в каждую его строчку, а затем набраться смелости, и переписать код под себя.
Обращайте внимание на различные подсказки, данные в книге, в виде стрелок и подчеркиваний. Они вам обязательно пригодятся!
И еще кое-что! Иногда, в своих примерах кода я использую английские слова и предложения. Если вы не знаете английский, не пугайтесь! Вы всегда найдете перевод рядом. И, думаю, это станет отличным поводом начать изучать этот язык. Ведь все языки программирования написаны именно на английском. И каждый хороший программист знает его достаточно для своих задач.
Да, и еще! В самом конце в приложении к книге вы найдете список идентификаторов блоков, используемых в мире Minecraft. Этот список пригодится вам при работе с кодом.
Зачем учиться программировать?
Постараюсь ответить на этот вопрос сразу и детям, и подросткам, и студентам, и их родителям. Кстати, Новичок-взрослый, уверен, почерпнет для себя тоже что-то новое.
Познакомьтесь с Бериком, и с тем, как он провел сегодняшний день.
Берика разбудил будильник, установленный как приложение на его смартфоне. Встав с постели и пройдя в ванну, умывшись и почистив зубы, он направился на кухню. Щелкнул электрический чайник, тот засветился, и вскоре начал кипеть.
Берик открыл дверцу холодильника, с установленным на ней электронным экраном, показывающим температуру морозильной и холодильной камеры.
Пока завтрак разогревается в микроволновке, Берик листает Instagram-ленту и читает сообщения, пришедшие на Whatsapp.
Позавтракав, Берик вызывает такси через приложение. Этим холодным утром, таксист немного опоздал на работу. Он пытался завести двигатель своего авто, но бортовой компьютер давал сбой. “Придется везти на диагностику и искать ошибку”: ворчал таксист, но двигатель все же завелся.
Добравшись до своего офиса, Берик достал из сумки ноутбук, разместил его на своем столе, и включил. Ноутбук автоматически подключился к уже знакомой сети Wifi и принялся загружать электронные письма. Сегодня их было особенно много, и в нескольких из них предлагались довольно интересные проекты.
Один из них особенно понравился Берику. Достав смартфон из кармана, он набрал номер, оставленный в письме, и уже через пол часа ехал на встречу.
К столу делового кафе, за которым Берик увлеченно обсуждал предложенный ему проект, подали салат из свежих помидоров и огурцов. Возможно, их вырастили на большой промышленной ферме, использующей технологии точного земледелия. Эта ферма следит за своим урожаем через космическую съемку и точно знает, в какой части плантации необходимо усилить ирригацию, а в какой добавить больше удобрений.
Быть может, это маленькая частная ферма? И ее хозяину не по карману космический мониторинг, зато он осматривает собственный урожай через линзы беспилотного дрона, облетающего поля и посылающего команду “Запустить полив!” именно там, где оптические датчики дрона увидели признаки засухи.
Как бы там ни было, салат получился потрясающим на вкус. А деловая встреча невероятно продуктивной!
Перед выходом из кафе Берик, как настоящий джентельмен, пропустил вперед женщину. К ней на телефон только что пришло сообщение, отправленное со смарт-часов ее сына. В сообщении говорилось о том, что ребенок благополучно добрался до школы.
После насыщенного трудового дня Берик едет в фитнес-клуб. Заходя в раздевалку после интенсивной тренировки, Берик отмечает достигнутый прогресс в своем любимом фитнес-приложении.
Вернувшись домой, он закидывает вещи в стиральную машинку и выбирает программу быстрой стирки.
Поужинав с родными, Берик и вся его семья уютно устроились перед телевизором, запустили на нем поисковик, отыскали фильм, который давно хотели посмотреть вместе, и принялись за его просмотр.
Позвольте обратить ваше внимание на то, что каждый шаг, сделанный в течении описанного выше дня, вовлекает работу компьютерного кода. От пробуждения по утрам до запуска двигателя автомобиля. От выращивания овощей для салата до стирки вещей.
Перечитайте день, который провел Берик, еще раз. Удивительно, не правда ли?
Многие могут сказать: “Хорошо, но Берик – современный житель какого-нибудь мегаполиса, и, конечно же, его жизнь тесно связана с технологиями. Но тех, кто не пользуется смартфоном или не ходит в офис, эта история не касается”.
Если вы так и подумали, позвольте показать вам кое-что.
Изображение 2. Фото: beltrakt.ru
На изображении 1 вы видите кабину модели трактора, которая еще не так давно считалась одной из самых современных.
Изображение 2. (Фото: reviewmachines.com)
А теперь посмотрите на изображение 2. Глядя на это, можно с уверенностью сказать, что тракторист не только работает с самым настоящим компьютером. Посмотрите на два крупных экрана с показаниями в кабине. Он еще и работает с большим потоком данных, поступающих через эти экраны.
Компьютерный код повсюду. Он с нами, когда мы учимся, отдыхаем, работаем, путешествуем.
Если мы поймем как устроен компьютерный код, то поймем как устроен современный мир. А это поможет нам лучше понять, кем мы хотим быть в этом мире, и над какими вещами хотим работать.
А если мы пойдем еще дальше, и научимся писать программы, то сможем делать еще больше. Давайте посмотрим что мы можем.
Bepul matn qismi tugad.