import mcpi.minecraft as minecraft
import mcpi.block as block
import random
import time
mc = minecraft.Minecraft.create()
pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z
# Создаём ограниченную область из кирпича
mc.setBlocks(x, y, z, x + 15, y, z + 10, 45)
mc.setBlocks(x + 1, y, z + 1, x + 14, y, z + 9, 0)
# Создаём 10 лазуритов в случайном порядке расположения в области
for i in range(10):
x1 = x + random.randint(1, 14)
z1 = z + random.randint(1, 9)
mc.setBlock(x1, y, z1, 22)
t = 0
l = 0
while True:
pos = mc.player.getTilePos()
if pos.x >= x and pos.x <= x + 15 and pos.z >= z and pos.z <= z + 10:
mc.postToChat("До завершения осталось " + " t = " + str(10 - t))
t = t + 0.1
else:
t = 0
if t >= 15:
mc.postToChat("Вы проиграли")
break
if mc.getBlock(pos.x + 1, pos.y, pos.z) == 22:
mc.setBlock(pos.x + 1, pos.y, pos.z, 0)
l = l + 1
mc.postToChat("Вы собрали лазурита " + " l = " + str(l))
elif mc.getBlock(pos.x - 1, pos.y, pos.z) == 22:
mc.setBlock(pos.x - 1, pos.y, pos.z, 0)
l = l + 1
mc.postToChat("Вы собрали лазурита " + " l = " + str(l))
elif mc.getBlock(pos.x, pos.y, pos.z - 1) == 22:
mc.setBlock(pos.x, pos.y, pos.z - 1, 0)
l = l + 1
mc.postToChat("Вы собрали лазурита " + " l = " + str(l))
elif mc.getBlock(pos.x - 1, pos.y, pos.z + 1) == 22:
mc.setBlock(pos.x, pos.y, pos.z + 1, 0)
l = l + 1
mc.postToChat("Вы собрали лазурита " + " l = " + str(l))
time.sleep(0.3)
if l >= 10:
mc.setBlocks(x - 20, y, z - 20, x + 20, y, z + 20, 0)
mc.postToChat("Вы перешли на второй уровень ")
break
pos = mc.player.getTilePos()
x = pos.x + 1
y = pos.y
z = pos.z
mc.setBlocks(x - 2, y, z, x + 5, y, z + 10, 5)
mc.setBlocks(x + 5, y + 1, z, x + 7, y + 1, z + 10, 5)
mc.setBlocks(x + 10, y + 1, z, x + 15, y + 1, z + 8, 5)
mc.setBlocks(x + 15, y + 2, z + 3, x + 25, y + 2, z + 5, 5)
mc.setBlocks(x + 25, y + 2, z + 3, x + 25, y + 2, z + 20, 5)
mc.setBlocks(x + 25, y + 3, z + 20, x + 35, y + 3, z + 20, 5)
for i in range(20):
mc.setBlocks(x + 35, y + 3 + i, z + 20 + i, x + 35, y + 3 + i, z + 25 + i, 5)
mc.setBlocks(x + 35, y + 3 + i, z + 23 + i, x + 35, y + 3 + i, z + 24 + i, 0)
z = z + 3
# y=y-1
for i in range(20):
mc.setBlocks(x + 35 + i, y + 23 + i, z + 44, x + 36 + i, y + 23 + i, z + 44, 5)
mc.setBlocks(x + 55, y + 43, z + 44, x + 61, y + 43, z + 50, 5)
mc.setBlocks(x + 58, y + 44, z + 47, x + 59, y + 44, z + 48, 41)
while True:
pos = mc.player.getTilePos()
if mc.getBlock(pos.x, pos.y - 1, pos.z) == 41:
x = pos.x - 58
y = pos.y - 44
z = pos.z - 48
mc.player.setTilePos(pos.x - 58, pos.y - 44, pos.z - 48)
mc.postToChat("Вы перешли на третий уровень ")
mc.setBlocks(x - 40, y, z - 65, x + 60, y + 50, z + 65, 0)
break