программирование в майнкрафт книга
Книга «Minecraft. Программируй свой мир»
У нас вышла новая книга, адресованная мальчикам и девочкам, которые любят играть в Minecraft и хотят научиться программированию, чтобы с помощью новых знаний добиться большего.
Книга специально написана для тех, кто не только любит играть, но и хочет создавать что-то новое. Вы с легкостью освоите программирование, просто играя в Minecraft. В этом вам помогут простые пошаговые инструкции, позволяющие не только написать программу на Python, но и построить дом, фантастическое сооружение или даже 3D-копировальную машину. Вы сможете создавать собственные интерактивные игры, заниматься поиском сокровищ и даже возводить невероятные гигантские 2D- и 3D-объекты (сферы и пирамиды).
Все в ваших силах — постройте работающие огромные Minecraft-часы, спланируйте нападение инопланетян и даже сражение. Навыки программирования, полученные в этой книге, позволят вам раскрыть невероятные возможности Minecraft, недоступные вашим друзьям и знакомым.
Что такое Minecraft
Minecraft — это инди-игра в жанре песочницы, где можно строить сооружения, собирать предметы, добывать минералы и сражаться с монстрами. Она выглядит как трехмерный виртуальный мир, состоящий из разных кубических блоков; каждый блок занимает свое место в трехмерной решетке мира. На рисунке в начале поста показан пример ландшафта в мире Minecraft.
Виртуальный мир
В играх, относящихся к жанру песочницы, игрок находится внутри виртуального мира (как в обычной детской песочнице, но очень большой). Вместо прохождения определенных уровней в заданном порядке здесь вы путешествуете по виртуальному миру и принимаете решения, исходя из своих целей и способов их достижения. Поскольку выбор приходится делать в самом начале, игры в жанре песочницы обладают почти неограниченными возможностями. Вы создаете собственные сюжеты и перемещаетесь в трехмерном мире, приобретаете новые навыки и возможности, обнаруживая их случайно или в ходе экспериментов.
Персонаж в Minecraft — воплощение игрока, его аватар называется Стив (Steve). Игрок управляет Стивом в виртуальном мире, стремясь достичь поставленной цели. Если удастся благополучно пережить первую ночь, когда одолевают монстры, вы сможете следовать своим целям, взаимодействовать с другими игроками и строить огромные сооружения, ограничиваясь лишь собственной фантазией. Игры в жанре песочницы позволяют игроку самому решать, как вести игру, не вынуждая его двигаться маршрутами, заложенными создателями игры.
О программировании в Minecraft
В этой книге рассказывается о программировании: игра Minecraft использована в качестве способа обучения программированию. Если вы ищете советы, как строить разные сооружения и выигрывать сражения, лучше обратиться к другим книгам по теме.
Программируя в Minecraft, можно сделать игру более захватывающей, творческой и индивидуальной. Играя в обычную игру, игроки следуют основным правилам Minecraft, заложенным создателями. А добавляя свои программы, взаимодействующие с игровым миром Minecraft, можно автоматизировать решение сложных и повторяющихся задач, таких как строительство протяженных улиц с домами и гигантских строений. Можно придать игре и ее объектам новые стили поведения, добавить новые элементы, до которых не додумались авторы. Но самое главное, что так вы приобретете универсальный навык — умение программировать на языке Python, который можно применять более широко, не только для программирования в Minecraft. На рисунке 1 изображена длинная улица со зданиями, построенная с помощью коротенькой программы на Python.
Рис. 1. Длинная улица со зданиями, построенная 20-строчной программой на Python
Что вы узнаете
Вы познакомитесь со множеством сторон игры Minecraft и способами влияния на ее поведение с помощью программ на языке Python. Откроете тайну адресации блоков в трехмерном мире с использованием координат. Узнаете, как определять местоположение персонажа, создавать и удалять блоки в Minecraft и как определить, какой блок выбран игроком.
Вы научитесь настраивать и запускать собственный локальный сервер Minecraft, использовав сервер craft-bukkit, созданный сообществом, и программировать его, использовав программный интерфейс Minecraft.
Вы узнаете, как писать программы на языке Python: от самых простых, таких как «Привет, мир Minecraft!», до сложных, взаимодействующих с огромными трехмерными объектами, которые, благодаря новым навыкам программирования на Python, легко штамповать.
Использовав бесплатный модуль MinecraftStuff, входящий в состав библиотеки на языке Python, вы сможете создавать двух- и трехмерные объекты из блоков, рисовать линии и многоугольники, а также выводить текст.
О структуре книги
Каждая глава в книге — отдельное приключение, обучающее новым навыкам и понятиям в процессе программирования и тестирования проекта. Книга организована так, что каждому приключению соответствует отдельный проект, не зависящий от других. Хотя, возможно, кому-то будет проще осваивать их по порядку и знакомиться с новыми понятиями программирования постепенно.
Очень важно, чтобы вы в первую очередь прочли Приключение 1, потому что там описано, как загрузить и установить все, что вам понадобится, и убедиться, что все работает должным образом. В этом приключении мы перечислим главные шаги, которые придется выполнять в следующих приключениях, и будем напоминать о них на протяжении первых приключений.
Первые три приключения написаны для тех, кто мало знает или вообще ничего не знает о программировании. Мы объясним все термины и понятия по мере встречи с ними. В Приключениях 2, 3 и 4 рассмотрены ключевые элементы любой хорошей игры Minecraft. В их числе: определение событий, происходящих в мире Minecraft; выполнение простых вычислений и создание программ, реагирующих по-разному, например, отправляющих сообщения в чат или автоматически создающих блоки. Эти три ключевых понятия — определение, вычисление и реагирование — мы будем использовать на протяжении всей книги для создания больших и захватывающих программ Minecraft.
Приключение 5 основано на знаниях, полученных в предыдущих приключениях. Здесь мы исследуем некоторые интересные способы связи виртуального мира Minecraft с внешним миром. В частности, рассмотрены способы сохранения больших объемов данных в файлах для копирования и воспроизведения больших сооружений с помощью трехмерного «копировального аппарата».
Приключения 6 и 7 знакомят с модулем MinecraftStuff, позволяющим с помощью блоков создавать линии, окружности и другие двухмерные фигуры, а также некоторые фантастические трехмерные сферы и пирамиды. Они могут стать основой для строительства гигантских сооружений, создать которые вручную очень сложно. В Приключении 7 показано, как наделить движущиеся объекты индивидуальными особенностями, чтобы сделать их движения более-менее разумными. Освоив эти приемы, вы сможете писать захватывающие «игры внутри игры», которые наверняка поразят ваших друзей.
Приключение 8 потребует знания всех понятий и навыков программирования, полученных в предыдущих приключениях, для создания заключительного проекта — интересной игры на очки с движущимися объектами, которых нужно избегать или, наоборот, использовать для перемещения.
Более подробно с книгой можно познакомиться на сайте издательства:
Для Хаброжителей скидка 20% по купону — Minecraft
Книга «Minecraft. Программируй свой мир на Python. 2-е международное издание»
У нас вышло переиздание книги, адресованной мальчикам и девочкам, которые любят играть в Minecraft в возрасте 11–15 лет.
Кому адресована эта книга
Книга адресована мальчикам и девочкам, которые любят играть в Minecraft и хотят научиться программированию, чтобы с помощью новых знаний добиться большего. В целом книги серии «Minecraft. » адресованы читателям в возрасте 11–15 лет, но некоторые приключения в финале могут быть интересны и читателям более старшего возраста. Кроме того, первые главы книги испытали совсем юные любители Minecraft в возрасте от восьми лет.
Возможно, вы уже накопили серьезный игровой опыт, но испытываете досаду от того, сколько времени приходится тратить на создание новых сооружений. Или ищете способы расширить возможности игры дополнительными логическими функциями и функциями автоматизации. Какими бы ни были ваши цели, эта книга станет путеводителем в путешествии по программированию для Minecraft, а каждый искатель приключений знает, что путеводитель — самый ценный груз в рюкзаке. Свой поход вы начнете с простого, например с отправки сообщений в чат Minecraft, затем познакомитесь с основами программирования для Minecraft на языке Python и, наконец, узнаете, как использовать новые навыки для создания собственных игр внутри Minecraft. К концу путешествия вы получите знания и навыки, достаточные, чтобы стать первопроходцем в программировании для Minecraft!
Что вы узнаете
Вы познакомитесь с множеством сторон игры Minecraft и способами влияния на ее поведение с помощью программ на языке Python. Откроете тайну адресации блоков в трехмерном мире с использованием координат. Узнаете, как определять местоположение персонажа, создавать и удалять блоки в Minecraft и как определить, какой блок выбран игроком.
Вы узнаете, как писать программы на языке Python: от самых простых, таких как «Привет, мир Minecraft!», до сложных, взаимодействующих с огромными трехмерными объектами, которые, благодаря новым навыкам программирования на Python, легко штамповать. Вы также узнаете, как настроить и запустить собственный локальный сервер Minecraft на ПК.
Используя бесплатный модуль MinecraftStuff, входящий в состав библиотеки на языке Python, вы сможете создавать двух- и трехмерные объекты из блоков, рисовать линии и многоугольники, а также выводить текст.
Примечание для родителей и учителей
Мы разделили книгу на несколько отдельных приключений, которые можно считать самостоятельными проектами. Каждый из них посвящен одной особенности программирования для Minecraft. Знакомство с языком Python будет протекать постепенно, от простого к сложному. Первые приключения ориентированы исключительно на новичков, а последние охватывают более сложные разделы языка Python и заставляют читателя напрягать свои способности.
В каждом Приключении представлен отдельный практический проект с пошаговыми инструкциями (в которых читатели смогут отмечать выполненные пункты галочками), составленными в стиле, напоминающем стиль комментариев в листингах программ. Подробные описания даны во врезках «Углубляемся в код», которые ученики смогут прочесть позднее, чтобы не отвлекаться от ввода и опробования программ.
Каждое Приключение может потребовать больше чем одного урока, но все они поделены на разделы, которые можно использовать в качестве тем для отдельных уроков или занятий.
Синтаксис языка Python предусматривает оформление листингов программ с отступами слева, для выделения структуры кода — он чувствителен к регистру символов. Юным читателям могут пригодиться советы взрослых по правильному оформлению отступов и регистров символов, которые помогут им избежать ошибок при наборе текстов программ. Все программы можно загрузить со вспомогательного веб-сайта. Поэтому если вдруг в программе всплывут какие-то проблемы, сравните свою версию с нашей и посмотрите, где допустили ошибку.
Изменения, внесенные во второе издание
Во втором издании мы сохранили содержание и тот же легкий стиль повествования и внесли некоторые незначительные улучшения и исправления:
О структуре книги
Каждая глава в книге — отдельное приключение, обучающее новым навыкам и понятиям в процессе программирования и тестирования проектов. Книга организована так, что каждому приключению соответствует самостоятельный проект. Хотя, возможно, кому-то будет проще осваивать их по порядку и знакомиться с новыми понятиями программирования постепенно.
Очень важно, чтобы вы прочли Приключение 1, прежде чем делать что-то еще. Там описано, как загрузить и установить всё, что вам понадобится, и убедиться, что всё работает должным образом. В этом приключении мы перечислим главные шаги, которые придется выполнять в следующих приключениях, и будем напоминать о них на протяжении первых приключений.
Первые три приключения написаны для тех, кто мало знает или вообще ничего не знает о программировании. Мы объясним все термины и понятия по мере встречи с ними. В Приключениях 2, 3 и 4 рассмотрены ключевые элементы любой хорошей игры Minecraft. В их числе: определение событий, происходящих в мире Minecraft; выполнение простых вычислений и создание программ, реагирующих по-разному, например отправляющих сообщения в чат или автоматически создающих блоки. Эти три ключевых понятия — определение, вычисление и реагирование — мы будем использовать на протяжении всей книги для создания больших и захватывающих программ Minecraft.
Приключения 5 и 6 основываются на том, что вы узнали в предыдущих приключениях, и содержат более крупные программы, которые разрабатываются и тестируются поэтапно. В Приключении 5 рассматриваются способы, которые позволяют вносить большие объемы данных из файлов данных, чтобы сохранять и дублировать большие структуры с помощью трехмерной «копировальной машины».
Приключения 6 и 7 знакомят с модулем MinecraftStuff, позволяющим с помощью блоков создавать линии, окружности и другие двумерные фигуры, а также некоторые фантастические трехмерные сферы и пирамиды. Они могут стать основой для строительства гигантских сооружений, создать которые вручную очень сложно. В Приключении 7 показано, как наделить движущиеся объекты индивидуальными особенностями, чтобы сделать их движения более-менее разумными. Освоив эти приемы, вы сможете писать захватывающие «игры внутри игры», которые наверняка поразят ваших друзей.
Отрывок. Вторжение инопланетян
Инопланетяне планируют вторгнуться в мир Minecraft. Космический корабль пикирует сверху прямо на персонажа, который находится в смертельной опасности: инопланетяне настроены враждебно и не успокоятся, пока не добьются своего.
В следующей программе вы будете использовать MinecraftShape и приемы программирования, уже использовавшиеся при создании блокфренда, для строительства инопланетного космического корабля (рис. 7.5), который будет парить в воздухе, преследуя персонажа и пытаясь оказаться над ним. Когда это произойдет, он телепортирует персонажа внутрь.
Космический корабль создается с помощью MinecraftShape, как деревянный конь в предыдущей программе; каждый его блок будет иметь свои относительные координаты и тип. На рис. 7.6 показаны координаты блоков (если смотреть сбоку и сверху).
Рецензии на книгу « Программируем с Minecraft. Создай свой мир с помощью Python » Крэйг Ричардсон
Настольная книга моего сына, очень любит игру Майнкрафт. Книгу читает, интересные ему главы, пока не программирует в силу возраста (5 лет), но с книжкой не расстается)) В будущем думаю, будет служить нам по назначению..
Хорошая книжка. Купила сыну и племяннику 9 и 10 лет. Мне важно чтобы детки не просто бездумно в компьютер смотрели. Сама я ничего не понимаю,но мальчикам нравится им вроде все понятно.
Книга большая, обложка мягкая с выборочной лакировкой. Смотрится отлично. Печать офсет, листы белые, шрифт небольшой. Написано доступным языком. Пока только разбираемся. Сын испугался, так как ничего подобного не делал. Позже отпишусь как пошел сам процесс. Да, где скачать все необходимые прогги также указан линк, инструкция пошаговая с окном. Эта книга для родителей и детей. 10-летка сам не разберется.
Купила сыну в подарок, так как, и его не обошла стороной любовь к этой одноименной игре. Хотелось немного отвлечь ребенка от бесмыссленности проведенного времени за игрой. Пусть извлекает пользу из своих увлечений. В итоге самим программированием он увлекся, а книга пока лежит. Лицензия игры была куплена, поэтому никаких сложностей не возникло. Думаю, до книги ещё дойдет дело. Ребенку 11 лет.
Пока понадобилась только глава о том, как настроить Minecraft для того, чтобы можно было запускать написанные на Python скрипты.
Minecraft должен быть лицензионным и для ПК, а не для планшета.
Отличная книга на подарок племяннику (увлекается программированием).
Хорошее качество печати, много примеров и упражнений. Дарить было приятно 🙂
Я не специалист в программировании, но книга заинтересовала сына- ему очень нравится Майнкрафт и хочется на волне интереса к игре начать изучать программирование. В аннотации написано, что от 10 лет и с нуля, посмотрим.
В книге много заданий, связанных с игрой. Есть подробная инструкция по установке необходимых программ.
Прилагаю фото содержания и введения.
Книга приходит в плёнке, единственно- в открытом состоянии не держится- проклеенный переплёт, а она довольно толстая.
Следуйте пошаговым инструкциям и вы:
научитесь сохранять в переменных разные типы данных;
освоите принцип действия функций;
узнаете, как проверять условия при помощи булевых значений, операций сравнения и логических операций;
познакомитесь с циклами while и for;
поработаете со списками, кортежами и словарями;
научитесь создавать файлы, записывать и считывать из них данные;
поймете, в чем прелесть объектно ориентированного программирования.
При этом в вашем арсенале появится большое количество работающих программ, навык программирования на Python и радость от того, что вы можете создавать собственные миры!
Для кого эта книга
Для детей от 10 лет, а также всех, кто хочет начать программировать с нуля или не мыслит жизни без Minecraft.
Для среднего и старшего школьного возраста.
Увлекательное программирование: изучаем Minecraft
Добрый день, уважаемые читатели!
У нас выходит второй тираж замечательной книги об игровом мире Minecraft. Мы уже публиковали о ней отдельный пост.
С удовольствием напоминаем, что этой игре все возрасты покорны, более того — она будет интересна даже дошколятам, если правильно подать смысл этой замечательной игры и пробудить в детях творческую жилку. Под катом — рассказ многодетной мамы о том, как это делается.
Наконец, если вас заинтересует перевод ознакомительной публикации Уолтера Хиггса о ScriptCraft, на которую ссылается автор в самом конце статьи — пишите, обсудим 🙂
Если у вас, как и у меня, есть маленькие дети в возрасте 5-10 лет, то вы, вероятно, не понаслышке знаете о всеобщем увлечении Minecraft; возможно, у вас даже есть книги и игрушки на эту тему. Я стала размышлять, может ли эта игра в кубики чему-то научить ваших детей и решила рассказать, как увлечь детей программированием за игрой в Minecraft. Мы уже пытались учиться программировать на Scratch, но Minecraft нравится детям даже больше, чем этот язык. Вот я и решила отталкиваться от Minecraft.
Как раз этим делом я решила не заниматься с детьми. Они маленькие, и я хотела сделать так, чтобы мы могли сосредоточиться на «самом интересном», чтобы дети сразу получали «отдачу» от программирования, а не занимались скучной настройкой прежде, чем смогут приступить к программированию. Хорошо, что я поступила именно так: при установке обнаружились некоторые закавыки, которые вполне могли бы испортить детям настроение. Кстати, мы работали на Mac.
Необходимо усвоить: если от вас требуется «запустить сервер», то имеется в виду следующее:
Если все сработает верно, то вы должны увидеть следующее:
Обратите внимание: если вы правильно установили плагин ScriptCraft, то также должны увидеть «Found 1 plugin».
Статус завершается приглашением командной строки для рабочего сервера. Чтобы аккуратно выйти с сервера, когда все сделаете, вернитесь в терминал и просто введите «stop». Если этого не сделать и закрыть окно терминала, либо нажать Ctrl-Z, то соответствующий процесс Java так и будет висеть на том порте, где был запущен CanaryMod – по умолчанию 25565. В таком случае у вас возникнут проблемы, как только вы попытаетесь вновь запустить сервер.
Навигация в Minecraft
Если вы не играете в Minecraft регулярно (не то, что я), то убедитесь, что умеете пользоваться навигацией в игре.
Единственный вопрос, ответ на который я не нашла в онлайновых руководствах и при простом поиске в Google – как открыть дверь, не разрушая ее. В итоге я приспособилась прокладывать путь при помощи Ctrl + click. Тогда можно не сносить красивые дверцы домиков и других строений :). Странно, что дети предпочитали везде вламываться, не щадя дверей. Хмммм…
Впервые запустив клиент Minecraft, настройте многопользовательский режим (multiplayer). В руководствах пишут, что для соединения используется просто «localhost», но на самом деле нужно задать
localhost:, где port – либо порт, задаваемый по умолчанию для CanaryMod, то есть, 25565, либо другой порт, который вы могли определить в конфигурационном файле CanaryMod.
Затем попробуйте ввести какой-нибудь текст в командную строку. Обратите внимание: командная строка есть как в самом клиенте Minecraft, так и в том окне терминала, из которого вы запускали сервер CanaryMod. Иногда кажется, что клиент реагирует не на все нажатия клавиш. Мой старший любит в таком случае говорить «что-то глючит». В таком случае нужно перезапустить клиент Minecraft, а иногда даже сервер CanaryMod.
Если вы не хотите отвлекаться на всяких монстров и тварей, пытающихся сожрать вашего персонажа, сразу установите такой игровой режим, чтобы можно было творить. Это можно сделать как в конфигурационном файле config file, так и в командной строке Minecraft, где нужно ввести: /gamemode c
. В таком случае вы с детьми сможете вплотную заняться программированием и игрой, а не спасением вашего персонажа.
Сначала давайте убедимся, что ScriptCraft работает:
Начинаем с упражнения, в котором учимся программно создавать блоки, для этого применяется вызов длиной в одну строку:
Получился дубовый ящик с id 5, у которого задана ширина, глубина и высота. Он возник в воздухе, поскольку мы начали с той точки, в которой был крестик-прицел.
Дети сразу заинтересовались, а можем ли мы создать тут животных, например, коров или лошадок:
/jsp spawn cow
/jsp spawn horse
Эти вызовы отличаются от тех, что мы делали при создании блоков: перед ними ставится /js, а не /jsp. Помните команду «op»? Она позволяет делать при помощи /js мощные вызовы, которые не следует предоставлять в распоряжение всем игрокам.
Если в игровом мире начинает идти дождь или становится темно, можете показать ребенку следующие быстрые команды, позволяющие вернуть погожий солнечный день:
Демо-версия для родителей
Мне не без труда удалось уговорить детей оторваться от игры в Minecraft и выполнить несколько простых упражнений – чтобы увлечь их программированием. Для этого вам потребуется внимательно посмотреть, чем дети занимаются в Minecraft, и подсказать им, какие вещи можно сделать гораздо быстрее, написав всего пару строк кода. Вот несколько рекомендаций на этот счет:
Покажите, как создать цилиндр из тортов (cake blocks) при помощи функции цилиндра, принимающей id торта, радиус и высоту. Моя старшая дочь была в полном восторге от того, что в этом квадратном мире можно сделать цилиндры, причем из торта (id 92). Она переключилась в режим выживания командой game mode s
и с аппетитом «поедала» тортики, в Minecraft от этого улучшается здоровье. Ах, если бы в жизни тоже так было 🙂
/js cylinder(92, 5, 20)
Вот что получилось (вид сверху):
Создаем домик, потом набор домиков, форт и замок. Не забывайте двигать крестик, чтобы все эти объекты не выстраивались друг на друге.
/js cottage()
Затем покажите, как замостить одну из этих структур слизнями. Дети подсказали, что если мы так сделаем, то наш персонаж сможет весело летать в облаках и приземляться в виртуальном домике-батуте. Блоки-слизни упоминаются в gamepedia, их id 165.
Можно даже добавить в одном из строений танцпол:
Освободите большое пространство, чтобы на нем было проще размещать разные структуры. На первый взгляд было неочевидно, как это делается, даже покопавшись на различных сайтах я не нашла четкого ответа – разве что такая возможность была в популярном моде WorldEdit. Я не решилась устанавливать малознакомый мод, но в итоге нашла кое-какой код в папке с плагином ScriptCrafts, где используются воздушные блоки. Точно, воздушные блоки! Итак, поехали:
/js box(blocks.air, 50, 50, 50)
Так можно очистить большое пространство, но на это потребуется до минуты времени, поэтому запаситесь терпением. Дети были в восхищении. Но если в этой области у вас имеются высокие деревья или горы, то их верхушки могут остаться «плавать» в воздухе. В таком случае просто еще раз примените код или поднимите эту область и переставьте крестик. Наконец, мы могли просто настроить на сервере плоский мир и для начала поэкспериментировать с ним, но тогда играть было бы менее интересно. Учтите: если задавать для этих размерностей величины 50 и более, то можно запросто обвалить сервер.
Итак, мне удалось основательно увлечь детей, они стали спрашивать, а что еще тут можно сделать. Если вы тоже заинтересовались – самое время познакомиться с другими вызовами и даже попробовать создать собственный мод.



