https://pastein.ru/t/k9V

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


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

collections.Iterable = collections.abc.Iterable

mc = Minecraft.create()
spawn = mc.player.getTilePos()

game = True
timer = 0
points = 0

count = 0

mc.player.setTilePos(spawn.x, 210, spawn.z)
mc.setBlocks(spawn.x - 10, 200, spawn.z - 10, spawn.x + 10, 200, spawn.z + 10, block.IRON_BLOCK.id)

mc.postToChat('Хрупкий пол постепенно исчезает.')
mc.postToChat('Твоя задача - набрать как можно больше очков, собирая алмазы')
mc.postToChat('Не стой на месте! Облако будет исчезать прямо под тобой!!!')
time.sleep(5)

r1 = random.randint(-10, 10)
r2 = random.randint(-10, 10)

while game:
    pos = mc.player.getTilePos()
    b = mc.getBlock(pos.x, pos.y - 1, pos.z)
    time.sleep(0.5)

    if b == block.IRON_BLOCK.id:
        mc.setBlocks(pos.x - 1, pos.y - 1, pos.z - 1, pos.x + 1, pos.y - 1, pos.z + 1, block.AIR.id)

    xd = spawn.x + r1
    yd = 201
    zd = spawn.z + r2

    mc.setBlock(xd, yd, zd, block.DIAMOND_BLOCK.id)

    events = mc.events.pollBlockHits()

    for e in events:
        pos = e.pos

    if pos.x == xd and pos.y == yd and pos.z == zd or b == block.DIAMOND_BLOCK.id:
        mc.setBlock(xd, yd, zd, block.AIR.id)
        points += 1
        mc.postToChat('Очки / Points:' + str(points))
        r1 = random.randint(-10, 10)
        r2 = random.randint(-10, 10)

    count += 1
    if count == 2:
        timer += 1
        mc.postToChat('Time / Время:' + str(timer))
        count = 0

    rt1 = random.randint(-10, 10)
    rt2 = random.randint(-10, 10)
    xt = spawn.x + rt1
    yt = 201
    zt = spawn.z + rt2

    if timer >= 15:
        mc.setBlock(xt, yt, zt, block.TNT.id)
        mc.setBlock(xt, yt + 1, zt, block.FIRE.id)

    if pos.y < 200:
        mc.postToChat('Game over / Игра окончена.')
        mc.setBlocks(spawn.x - 10, 200, spawn.z - 10, spawn.x + 10, 201, spawn.z + 10, block.AIR.id)
        mc.postToChat('----------- Итоги: ------------')
        mc.postToChat('Набрано баллов:' + str(points))
        mc.postToChat('Сыграно секунд:' + str(timer))
        mc.postToChat('---------------------------')

        question = True

        while question:
            answer = input('Вы хотите начать игру заново?').lower()
            if answer == 'да' or answer == 'yes':
                mc.postToChat('Игра возобновиться через 5 секунд')
                time.sleep(5)
                mc.player.setTilePos(spawn.x, 210, spawn.z)
                mc.setBlocks(spawn.x - 10, 200, spawn.z - 10, spawn.x + 10, 200, spawn.z + 10, block.IRON_BLOCK.id)
                question = False
                points = 0
                timer = 0
                count = 0
            elif answer == 'нет' or answer == 'no':
                print('Счастливо!!!')
                game = False
                question = False
                print('До свидания!')
            else:
                print('Ответ некорректный! Введите да/yes или нет/no!')