Крэйг Ричардсон: Программируем с Minecraft. Создай свой мир с помощью Python. Основы программирования для Minecraft - мини-версия

29 октября 2015 в 12:40

Книга «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 потребует знания всех понятий и навыков программирования, полученных в предыдущих приключениях, для создания заключительного проекта - интересной игры на очки с движущимися объектами, которых нужно избегать или, наоборот, использовать для перемещения.

Более подробно с книгой можно познакомиться на

Зачем вам изучать программирование на языке Python? Он отлично подходит для новичков. Коды на Python легко писать и читать, мощности языка хватает, чтобы создавать на нем серьезные компьютерные программы. Неспроста Python является одним из самых распространенных языков программирования в мире!

Minecraft

Игра Minecraft популярна, ведь она такая увлекательная! Вы можете создавать в игровом мире все, что захотите, - лишь дайте волю воображению! А управляя миром Minecraft с помощью Python, вы еще больше раскроете свой творческий потенциал.

Программирование

Одна из главных причин изучать программирование - тренировка ума для решения сложных задач. Вы научитесь разбивать большие задачи на маленькие и подключать творческое мышление. Еще один плюс - развивается логика. Вы учитесь планировать структуру программы и сценарий ее работы.

Синтаксис

У каждого языка программирования есть набор правил - синтаксис. Эти правила похожи на правила русского языка, которыми мы пользуемся, чтобы составлять предложения. Если вы будете знать синтаксис языка Python, программы будут работать, а если нарушите их, компьютер не поймет, что вы от него хотите.

Телепортация

Подвигайте вашего игрока туда-сюда и понаблюдайте, как меняются его координаты. Здорово, правда? Однако перемещения на большие расстояния занимают много времени. Зачем тратить его зря, если игрока можно телепортировать?

Волшебный танцпол

Цикл while расскажет, как научить программу многократно выполнять код с помощью циклов. Вы сможете автоматизировать работу программ и получить фантастические результаты. Например, след из цветов, который будет тянуться за игроком, или волшебный танцпол, переливающийся всеми цветами радуги!

Всем доброго времени суток!

Перед вами будущий учебник для начинающих модостроителей Minecraft"а .

Намечается написать целых 20 и более глав для новичков.

Так же скажу от себя - моддинг под данную игру может быть и не очень сложен, но он отнимает много времени и от вас потребуются железные нервы.

Ахтунг! Учебник по моддингу для Modloadera!

Код на изображениях проверки может отличатся от кода учебника! Например: ID объекта.

Используйте код который указан в главах и проверяйте регистр на картинках!

Мини-версия учебника, специально для Minecraft.my1.ru!

Вопрос-ответ:

Вопрос : Чем этот учебник отличается от статей WD"kun"a ?

Ответ : В данной учебнике больше информации и моддинг осуществляется для клиента с ModLoader"ом.

Вопрос : А зачем этот ModLoader?

Ответ : Делает удобнее и быстрее моддинг в разы.

Вопрос : Я сделал свой первый мод, куда мне можно его залить и кому показывать?

Ответ : Если вы уверены, что Ваш мод достоин внимания и он хорошо проработан как и в плане оптимизации, так и в плане внешнего вида - скидывайте его на minecraftforum.net

Вопрос : А что если у меня не лицензионная копия игры? Я не смогу делать моды?

Ответ : Моды можно делать и на пиратке, на счет этого не беспокойтесь. Разницы нет.

Вопрос : Я там карочи всие сделол как написана и игра паказывает англиские слава какие та ниче ни понятна!!111

Ответ : Для того, чтобы мы Вам помогли, скиньте Log"и (текст) ошибки прямо в эту тему, мы Вам обязательно поможем!

Вопрос : При рекомпиляции выпадает море ошибок. Что делать?

Ответ : Отписать в эту тему или в джаббер конференцию. Если никто Вам не отвечает, проверьте, все ли скобки стоят правильно и совпадает ли регистр букв.

Вопрос : Я зашел в конференцию, а там никого нет? На форуме не отвечают, в конфе тоже пусто. Вы пропали?

Вопрос : У меня ничего не получается! Сделайте, пожалуйста за меня...

Ответ : Мы делаем что-то для пользователей только в крайних случаях, если например ошибки неизлечимы, и все это связанно с вашим компьютером, а не руками.

Вопрос : Я прошел весь учебник, но обновлений не наблюдаю. Вы забросили его?

Ответ : Конечно же нет! Просто у нас тоже есть личная жизнь, и иногда приходится отлучаться.

Вопрос : Я видел у буржуев статью про... Вы добавите ее к себе?

Вопрос : Все время вы говорите создать какой-то файл.java. Как его вообще создать?

Ответ : Создаете текстовый файл и просто переименовываете его из Текстовый документ.txt, например, в mod_gcc.java (открывая его, непосредственно, в нотепаде), а затем редактируете и сохраняете.

Вопрос : В учебнике слишком неудобно отписаны некоторые моменты. Можно я какие мне надо строчки в другие файлики перемещу, ведь так удобнее!

Ответ : Ни в коем случае! И даже не пытайтесь.

Вопрос : А как открыть файл.jar винраром?

Ответ : ПКМ --> Открыть с помощью --> WinRar или 7zip.

Вопрос : Я начал работать, но в src/minecraft/ файлов нет! Я что-то забыл сделать?

Ответ : Скорее всего, декомпилятор выдал ошибку и не отдал вам сорцы игры. Ну или в крайнем случае вы просто забыли его включить.

Глава 1. Подготовка рабочего места и настройка MCP.

Я отказываюсь писать статьи по старому стилю оформления как в прошлых уроках, т.к надоедает все время отписывать числа.

Надеюсь, вы меня поймете:)

Notepad++ - обязательно, иначе вы не сможете пройти главы.

О книге









При этом в вашем арсенале появится большое количество работающих программ, навык программирования на Python и...

Читать полностью

О книге
Вам не страшны криперы, глубокие пещеры и высокие горы? А знаете ли вы, что меч можно превратить в волшебную палочку, дворец - возвести в мгновение ока, а тайные ходы легко открываются нажатием секретной кнопки? Книга "Программируем с Minecraft" позволит творить эти и многие другие чудеса с помощью Python - языка программирования, которым пользуются миллионы людей - от профи до новичков!

Следуйте пошаговым инструкциям и вы:
научитесь сохранять в переменных разные типы данных;
освоите принцип действия функций;
узнаете, как проверять условия при помощи булевых значений, операций сравнения и логических операций;
познакомитесь с циклами while и for;
поработаете со списками, кортежами и словарями;
научитесь создавать файлы, записывать и считывать из них данные;
поймете, в чем прелесть объектно ориентированного программирования.
При этом в вашем арсенале появится большое количество работающих программ, навык программирования на Python и радость от того, что вы можете создавать собственные миры!

Для кого эта книга
Для детей от 10 лет, а также всех, кто хочет начать программировать с нуля или не мыслит жизни без Minecraft.

Об авторе
Крейг Ричардсон - разработчик программного обеспечения и преподаватель языка Python. Он работал в Raspberry Pi Foundation, преподавал информатику в старших классах, провел множество семинаров, посвященных созданию Python-программ для Minecraft.

Для среднего и старшего школьного возраста.

Скрыть

Пять причин купить

  • 1. Программирование — это, прежде всего, тренировка ума для решения сложных задач. Вы научитесь разбивать большие задачи на маленькие и подключать при этом творческое мышление.
  • 2. Программирование учит мыслить логически. Логика нужна, чтобы тщательно спланировать структуру программы и сценарий ее работы. Навыки решения задач, творческое и логическое мышление пригодятся в самых разных областях жизни, а не только при написании кодов.
  • 3. Книга учит практическому программированию. Изучив ее, вы тут же пустите свои знания в ход: создадите мини-игры,приложения, программы, интересных героев, необычные миры и полезные утилиты.
  • 4. Вы изучите язык программистов Python, на котором можно создавать серьезные компьютерные программы. Python является одним из самых распространенных языков программирования в мире.
  • 5. В игровом мире вы можете создавать все, что захотите, — лишь дайте волю воображению! Раскроете свой творческий потенциал — сделаете такое, что просто невозможно повторить обычными средствами игры. Например, в считаные секунды возведете огромное здание.