77 lines
2.6 KiB
Python
77 lines
2.6 KiB
Python
|
from mcpi.minecraft import Minecraft
|
||
|
mc = Minecraft.create();
|
||
|
import time
|
||
|
import math
|
||
|
import random
|
||
|
|
||
|
t = 0
|
||
|
|
||
|
curPlayerPos = mc.player.getTilePos()
|
||
|
randX = random.randint(curPlayerPos.x-100, curPlayerPos.x+100)
|
||
|
randZ = random.randint(curPlayerPos.z-100, curPlayerPos.z+100)
|
||
|
randY = mc.getHeight(randX, randZ)
|
||
|
|
||
|
mc.postToChat("")
|
||
|
|
||
|
print(randX, randY, randZ)
|
||
|
mc.setBlock(randX, randY, randZ, 57)
|
||
|
mc.postToChat("Алмазный блок спрятан.")
|
||
|
|
||
|
curPlayerPos = mc.player.getTilePos()
|
||
|
mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 42)
|
||
|
mc.postToChat("Чтобы остановить игру, сломай железный блок,")
|
||
|
mc.postToChat("установленный рядом с тобой.")
|
||
|
mc.postToChat("Приятной игры!")
|
||
|
|
||
|
mc.postToChat("")
|
||
|
|
||
|
win = False
|
||
|
|
||
|
while (not win):
|
||
|
|
||
|
pauseBlock = mc.getBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1)
|
||
|
if (int(pauseBlock) == 0):
|
||
|
print("Игра была остановлена пользователем.")
|
||
|
mc.postToChat("Игра была остановлена.")
|
||
|
|
||
|
#Удаление блока
|
||
|
time.sleep(2)
|
||
|
mc.setBlock(randX, randY, randZ, 0)
|
||
|
mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 0)
|
||
|
|
||
|
break
|
||
|
|
||
|
pos = mc.player.getPos()
|
||
|
dist = math.sqrt((pos.x - randX) ** 2 + (pos.z - randZ) ** 2)
|
||
|
if dist < 3:
|
||
|
|
||
|
if (pos.y > randY):
|
||
|
mc.postToChat("Спустись вниз!")
|
||
|
time.sleep(2)
|
||
|
|
||
|
if (pos.y < randY):
|
||
|
mc.postToChat("Поднимись наверх!")
|
||
|
time.sleep(2)
|
||
|
|
||
|
mc.postToChat("Молодец, ты выиграл! Блок найден за " + str(t) + " секунд.")
|
||
|
mc.postToChat("Через 7 секунд блок исчезнет.")
|
||
|
|
||
|
#Удаление блока
|
||
|
time.sleep(7)
|
||
|
mc.setBlock(randX, randY, randZ, 0)
|
||
|
mc.setBlock(curPlayerPos.x + 1, curPlayerPos.y, curPlayerPos.z + 1, 0)
|
||
|
|
||
|
win = True
|
||
|
|
||
|
if dist > 100: mc.postToChat("Очень холодно - заморозишься!")
|
||
|
elif dist > 50: mc.postToChat("Холодно...")
|
||
|
elif dist > 25: mc.postToChat("Тепло")
|
||
|
elif dist > 12: mc.postToChat("Горячо...")
|
||
|
elif dist > 6: mc.postToChat("Кипяток - обожжёшься!")
|
||
|
#else: print("Чё-то пошоло не так...")
|
||
|
t = t+1
|
||
|
time.sleep(1)
|
||
|
|
||
|
print("Завершено.")
|
||
|
input("Нажмите любую клавишу для закрытия программы...")
|