ブロック名を当てるゲーム2(マイクラ×Python)

前のプログラムの改良版

ブロック名を当てるゲーム(マイクラ×Python) - toimo2011’s diary

ブロックを辞書として登録して、その中からランダムに取り出したものを答える。

# ブロック名を当てるゲーム
# coding:utf-8
from mcpi.minecraft import Minecraft
from mcpi.block import *
import random

mc = Minecraft.create()
mc.events.clearAll()

# 辞書を作成
# 必要に応じて追加していく
blocks = {"GRASS": GRASS,
          "STONE": STONE}

# 辞書からランダムにブロックを取り出す
blockName, blockId = random.choice(list(blocks.items()))
# 適当な位置に名前を当ててほしいブロックを配置する
pos = mc.player.getTilePos()
mc.setBlock(pos.x+5, pos.y, pos.z, blockId)
mc.postToChat("GAME1: What's this block's TYPE? ==> ")

# 正解するまでループ
while True:
    # マインクラフト内でテキストを入力する
    for i in mc.events.pollChatPosts():
        # ブロック名が合っているかチェックする
        if i.message == blockName:
            mc.postToChat("Correct!")
            exit()
        else:
            mc.postToChat("Wrong!")
            mc.postToChat("GAME1: What's this block's TYPE? ==> ")