https://pastein.ru/t/9qj

  скопируйте уникальную ссылку для отправки

Загрузка данных


import mcpi.minecraft as minecraft
import mcpi.block as block
import random
import time
import collections


collections.Iterable = abc.Iterable
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