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!')