Найти тему
Руслан Рахимов

Minecraft на Python 3(часть 2)

Моя вторая статья про программирование на Python в Майнкрафте. Чтобы узнать больше, прочитайте мою первую статью. Начнём.

Рис. 1. Книга, в которой я научился этому
Рис. 1. Книга, в которой я научился этому

ПРИКЛЮЧЕНИЕ 2, часть 1

В данном приключении будем наблюдать за перемещением персонажа в игре(например - узнавать координаты)

Программа выводящая координаты персонажа в игре:

Рис. 2. Координаты в мире Майнкрафт
Рис. 2. Координаты в мире Майнкрафт

1. Импортируем нужные модули:

import mcpi.minecraft as minecraft

2. Подключаемся к игре Майнкрафт:

mc = minecraft.Minecraft.create()

3. Запросите у игры позицию вашего персонажа:

pos = mc.player.getTilePos()

4. Есть 3 варианта вывода координат -2 варианта вывода в оболочке Python и вывод в игре Майнкрафт:

1. print(pos.x)

print(pos.y)

print(pos.z)

2. print("x="+str(pos.x)+"y="+str(pos.y)+"z="+str(pos.z))

3. mc.postToChat("x="+str(pos.x)+"y="+str(pos.y)+"z="+str(pos.z))

Запустите программу и вы увидите координаты персонажа в мире Майнкрафт.

Рис. 3. Вывод координат 1 способа
Рис. 3. Вывод координат 1 способа

Программа, выводящая в чат сообщение, когда вы встаёте на коврик:

1. Импортируем нужные модули:

import mcpi.minecraft as minecraft

import time

2. Подключаемся к игре Майнкрафт:

mc = minecraft.Minecraft.create()

4. На данном этапе появляется новые для вас функции. Ещё важно следить за отступами:

while True:

time sleep(1)

pos = mc.player.getTilePos()

if pos.x == 12 and pos.y == 70 and pos.z == 32:

mc.postToChat("Дом, милый дом!")

Рис. 4. Вывод сообщения, при нахождении на коврике
Рис. 4. Вывод сообщения, при нахождении на коврике

Объяснение некоторых функций и кодов:

1. while True - бесконечный цикл, каждый раз начинается снова и снова. Повторяется, пока не остановится программа.

2. time sleep() - добавляет задержку, для того чтобы программа не выполнялась слишком часто и быстро.

3. if - если. Наверное тут легко понять, например - "if pos.x == 12" означает - "если позиция персонажа по оси X равна 12".

4. Почему в if используется 2 знака "=="? В языке Python один знак "=" означает записать значение справа в переменную слева, например "a=10". Два знака "==" означают, что нужно сравнить два значения и если они равны, то выполнить, то что идёт после.

Автор статьи - Рахимов Руслан

Связь - vk.com/ruslanrahimov2006(Добавляйтесь в друзья с сообщением типа "ЯндексДзен Майнкрафт Питон","Я с ЯндексДзена")

Наука
7 млн интересуются