Как построить поезд в Minecraft с помощью Python – урок для детей

37ac979ee0e50517c5d4b096ccce10f5.png

Любите играть в Minecraft и хотите научиться создавать моды? Это просто и возможно с помощью языка Python. Предлагаем разобраться, как строить во вселенной «Майнкрафт» на примере создания поезда и его программирования на «Питоне».

Minecraft — игра, популярная среди детей и подростков. Они проводят время в виртуальной вселенной, общаются, а при определенных условиях получают возможность создавать постройки. И хотя изначально игра была написана на языке Java, а после переписана с применением C++, именно «Питон» отлично подходит для начинающих и опытных мододелов. Его синтаксис только кажется сложным: с программированием на Python успешно справляются даже младшие школьники и подростки от 9 до 13 лет и старше.

Сегодня мы хотим доказать это и предложить создать небольшой мод на поезд в игре «Майнкрафт». Урок подготовлен школой программирования для детей Pixel. Давайте приступим к основной части.

Как научиться строить в игре «Майнкрафт»: подробный гайд с кодом на примере создания виртуального поезда

Давайте сделаем неотъемлемый элемент симулятора железной дороги — поезд. Основные шаги представлены далее в виде текстовой инструкции. Если не получится разобраться, посмотрите видео о создании поезда во вселенной «Майнкрафт», которое представлено в конце сегодняшнего обучающего материала.

1. Начало работы: скачиваем софт и импортируем требуемые модули

Если вы новичок, обязательно просмотрите один из роликов, посвященных установке Minecraft и Python на ПК с операционными системами:

Это условный нулевой шаг, то есть подготовка к работе с инструментами, необходимыми для создания сегодняшнего мода. Преподаватель школы Pixel рассказал, как скачать, установить и запустить требуемые программные среды.

Если все готово, давайте приступим.

Первый шаг — импорт модулей minecraft и block из библиотеки mcpi. Они потребуются для взаимодействия с игрой и применения базовых блоков для строительства в игре «Майнкрафт»: с их помощью мы будем создавать постройки.

Вот какой код нам нужен:

Начало работы над скриптом

Начало работы над скриптом

import mcpi.minecraft as minecraft
import mcpi.block as block

2. Создаем подключение к виртуальной вселенной

Для того чтобы создать свой условный мир с поездом, воспользуемся функцией create (). Благодаря этому удастся обращаться к Minecraft и совершать некоторые операции на его сервере. Объявляем действие посредством кода:

Код для поезда в Minecraft

Код для поезда в Minecraft

# Подключение к Minecraft
mc = minecraft.Minecraft.create()

3. Управляем координатами игрока

Для этого нам потребуется функция getTilePos (). Она нужна для определения положения поезда относительно игрока. Пишем:

7cd997f41b806b96b48cc790332ae547.png

# Координаты игрока
player_pos = mc.player.getTilePos()

4. Задаем координаты первого вагона, устанавливаем его размеры и добавляем дополнительные вагонетки

Нужно взять координату x игрока, добавить 2. Это позволит строить вагоны справа от персонажа. Координаты y и z не трогаем: в иной ситуации нарушится расположение поезда относительно игрока. Пишем:

ae8f679d02376a89e197763ccad6baee.png

# Координаты первого вагона
wagon_x = player_pos.x + 2
wagon_y = player_pos.y
wagon_z = player_pos.z

Чтобы стать на шаг ближе к пониманию того, как построить поезд в игре «Майнкрафт», давайте зададим его размеры. Вот какой код потребуется:

92c9643ff8ebe98dc0e733394673bdb6.png

# Размеры вагона
wagon_width = 4
wagon_length = 4
wagon_height = 2

Теперь необходимо запустить цикл и повторить его 4 раза для создания аналогичного количества вагонов. Вот нужный код:

bff4c49f86496160cdb5d2b2871dd660.png

# Создание 4 вагонов
for_in range(4):

5. Делаем корпус, колеса и другие детали

Мы почти разобрались, как сделать поезд в игре «Майнкрафт» с помощью модулей block и minecraft, функции create () и дополнительных инструментов. Дело осталось за малым: нужно доработать финальные детали. Это:

  • Корпус;

  • Колеса;

  • Крепления.

Вот код для корпуса:

mc.setBlocks(wagon_x, wagon_y, wagon_z, wagon_x + wagon_width - 1, wagon_y + wagon_height, wagon_z + wagon_length - 1, block.STONE.id)

Теперь применим функцию setBlock (), чтобы сделать колеса. Разместим блоки железа (block.IRON_BLOCK.id) в требуемых координатах. Будем учитывать, что каждый вагон имеет 4 колеса: 2 спереди слева и справа, 2 — сзади с тех же сторон. Вот какой код поможет запрограммировать это условие:

# Создание колес
mc.setBlock(wagon_x, wagon_y, wagon_z - 1, block.IRON_BLOCK.id) # Переднее колесо слева
mc.setBlock(wagon_x + wagon_width - 1, wagon_y, wagon_z - 1, block.IRON_BLOCK.id) # Переднее колесо справа
mc.setBlock(wagon_x, wagon_y, wagon_z + wagon_length, block.IRON_BLOCK.id) # Заднее колесо слева
mc.setBlock(wagon_x + wagon_width - 1, wagon_y, wagon_z + wagon_length, block.IRON_BLOCK.id) # Заднее колесо справа

Теперь проверим, не является ли текущий вагон первым. Если нет, то есть позиция не начальная, можно приступать к созданию креплений. Возьмем блок block.RAIL.id. Код:

# Создание крепления между вагонами
if wagon_x != player_pos.x + 2:
	mc.setBlock(wagon_x - 1, wagon_y, wagon_z + 2, block.RAIL.id)

Завершающий штрих — обновление координаты x для следующего вагона так, чтобы к ней добавлялась ширина текущей вагонетки и дополнительный блок. Код:

# Обновление координат для следующего вагона
wagon_x += wagon_width + 1

Как должен выглядеть финальный скрипт, показано на скрине:

3403efc11ffc2b3892eb7756e4c3be4b.png

Итак, у нас получилось сделать поезд в игре «Майнкрафт» без разработки сложного мода. Попробуйте запустить программу:  

  1. Кликните на Run.

  2. Выберите Run Module.

  3. Перейдите к Minecraft и нажмите на кнопку возврата к игре. 

Если все получилось, поздравляем!

Бонус: обучающее видео и полный код

Если что-то не получилось, обязательно посмотрите обучающий ролик. В нем преподаватель школы Pixel рассказал, как нужно строить поезд для игры «Майнкрафт» и наглядно показал части кода.

В завершение представим код целиком: он пригодится для самопроверки или в случае, если и видео не поможет.

import mcpi.minecraft as minecraft
import mcpi.block as block

# Подключение к Minecraft
mc = minecraft.Minecraft.create()

# Координаты игрока
player_pos = mc.player.getTilePos()

# Координаты первого вагона
wagon_x = player_pos.x + 2
wagon_y = player_pos.y
wagon_z = player_pos.z

# Размеры вагона
wagon_width = 4
wagon_length = 4
wagon_height = 2

# Создание 4 вагонов
for _ in range(4):

	# Создание корпуса вагона
	mc.setBlocks(wagon_x, wagon_y, wagon_z, wagon_x + wagon_width - 1, wagon_y + wagon_height, wagon_z + wagon_length - 1, block.STONE.id)

	# Создание колес
	mc.setBlock(wagon_x, wagon_y, wagon_z - 1, block.IRON_BLOCK.id) # Переднее колесо слева
	mc.setBlock(wagon_x + wagon_width - 1, wagon_y, wagon_z - 1, block.IRON_BLOCK.id) # Переднее колесо справа
	mc.setBlock(wagon_x, wagon_y, wagon_z + wagon_length, block.IRON_BLOCK.id) # Заднее колесо слева
	mc.setBlock(wagon_x + wagon_width - 1, wagon_y, wagon_z + wagon_length, block.IRON_BLOCK.id) # Заднее колесо справа
 
	# Создание крепления между вагонами
	if wagon_x != player_pos.x + 2:
  	mc.setBlock(wagon_x - 1, wagon_y, wagon_z + 2, block.RAIL.id)

	# Обновление координат для следующего вагона
	wagon_x += wagon_width + 1

 А чтобы узнать, как управлять поездом в игре «Майнкрафт», строить красивые станции, создавать рельсы и виртуальные окружающие объекты — дома, деревья и т. д. — ознакомьтесь с подборкой роликов. Они помогут отточить навыки в написании кода на Python и вывести их как минимум на хороший уровень. 

Также просим поделиться успехами и рассказать, как все прошло. Получилось сделать поезд? Сложной ли показалась инструкция?  

А родителей детей хотим попросить высказать мнение о языке Python: подходит ли он для обучения младших школьников и подростков программированию?

Урок подготовила детская школа программирования Pixel. Мы обучаем программированию на Python детей от 9–10 лет и старше, заглядывайте на наши онлайн-курсы.

© Habrahabr.ru