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
y = 100
z = pos.z
mc.player.setTilePos(x, y, z)
tnt = block.TNT.id
grass = block.GRASS.id
air = block.AIR.id
scores = 0
countGrasses = 8
grasses = []
def place():
for i in range(-1, 2):
for k in range(-1, 2):
grasses.append(mc.setBlock(x + i, y - 1, z + k, grass))
game = True
place()
while game:
time.sleep(0.1)
xr = random.randint(-1, 1) + x
zr = random.randint(-1, 1) + z
mc.setBlock(xr, y - 2, zr, tnt)
searchMode = True
while searchMode:
player = mc.player.getTilePos()
if player.y < 100:
mc.postToChat("Мы упали с платформы! Игра окончена!")
mc.setBlocks(x - 1, y - 2, z - 1, x + 1, y, z + 1, air)
game = False
break
hit = mc.events.pollBlockHits()
for h in hit:
pos = h.pos
if pos.x == xr and pos.y == y - 1 and pos.z == zr:
mc.postToChat("О нет! Мы наткнулись на мину! Игра окончена!")
mc.setBlocks(x - 1, y - 2, z - 1, x + 1, y, z + 1, air)
searchMode = False
game = False
break
else:
mc.postToChat("Отлично! +1 Балл!")
mc.setBlock(pos.x, pos.y, pos.z, air)
scores += 1
countGrasses -= 1
mc.postToChat("Очки:" + str(scores))
mc.postToChat("Блоки земли без динамита:" + str(countGrasses))
if countGrasses == 0:
place()
countGrasses = 8
mc.setBlock(xr, y - 2, zr, air)
searchMode = False
break