1 урок Введение и подготовка
Скачать 2.7 Mb.
|
3 урок: Переменная и условия. «Истина» и «Ложь».Для создания следящего задания нам нужно начертить квадрат по координатам. Пример: Код: from mcpi.minecraft import Minecraft import time mc = Minecraft.create() x1 = 159 x2 = 167 z1 = 172 z2 = 179 score = 10 while True: time.sleep(1) pos = mc.player.getTilePos() if pos.x>x1 and pos.x score = score – 1 mc.PostToChat(“score = ”+str(score)) if score == 0: mc.PostToChat(“You lose”) break Условие — это такая конструкция, которая выполняется при определенных действиях, представьте, как вы собираетесь в школу, вы проверяете выходной сегодня или нет и в зависимости от этого выполняете действия. Булевы значения: Основа Булевы значения похожи на положения выключателя света: либо свет включен (True), Выключен (False) Допустим мы хотим включить свет то мы пропишем Light = True А если выключить, то: Light = False !! Всегда True и False пишем с заглавной буквы. Код программы, которая при помощи сравнения определит находиться ли игрок в воде. From mcpi.minecraft import Minecraft mc = Minecraft.create() pos = mc.player.getPos() x = pos.x y = pos.y z= pos.z blockType = mc.getBlock (x, y, z) mc.postToChat(blockType == 0 ) Задания: Измените код так, чтобы он проверял, находится ли игрок в воде (идентификатор блока 9), и запустите программу. Заведите игрока в воду и снова запустите программу. Теперь в чате должно появиться слово True. Если же игрок на суше, в чате появится False. Измените программу так, чтобы она, не останавливаясь, проверяла тип каждого блока, на который наступает игрок. замените код так, чтобы он проверял, находится ли игрок на дереве? (Подсказка: измените код так, чтобы он проверял тип блока на один блок ниже позиции игрока. Вам нужен положительный результат для листвы (идентификатор 18)) Создайте лабиринт, и ваша цель выбраться за указанное время. «Истина» и «ложь» булевых значений Ответ запишите в тетрадку. 4 урок: Установка блоков с помощью Python. Ограниченныйцикл.from mcpi.minecraft import Minecraft import mcpi.block as block mc = Minecraft.create() pos = mc.player.getTilePos() for y in range(5): for z in range(5): for x in range(5): mc.setBlock(pos.x+3+x, pos.y+y, pos.z+z, block.TNT.id) Для этого обратимся к библиотеке, которую мы импортировали. Нажимаем File-Open module. Далее пишем mcpi.block. И вам откроются все блоки, которые мы можем использовать. И вместо id прописываем цифру блока Например, блоку шерсти соответствует цифра 35, тогда вместо задания блока старым способом пишем – 35. y – показатель цикла. То есть, он будет с каждым циклом меняться, выведем y в чат, мы получим что действительно он меняет значение. Но давайте создадим стенку, ведь в данном случае мы просто строим блоки в высоту, тогда воспользуемся циклом в цикле. Задание Создайте объект из блоков с помощью языка Python на ваше усмотрение (Картинка, машинка….). поменять блок под ногами игрока на блок «текущая лава», используя функции getTilePos() и setBlock(). Теперь вы знаете, как менять блоки под игроком. А сможете создать их над игроком? Поэкспериментируйте и разместите вокруг игрока сразу несколько блоков. Сделайте так, чтобы игрок поднялся в воздух, а под ним тут же возник блок, остановив падение. Можете написать код, который поднимет игрока высоко над землей, а тем временем под ним появится озеро лавы. |