Raspberry PiでMinecraft! プログラミング基礎編

Raspberry PiでMinecraft!の続きとなります。 前回の記事では導入について説明させていただきました。今回の記事では「Minecraft Pi Edition」の特徴とも言えるプログラミングでの操作を説明していきます。使用可能言語はいくつかあるのですが、この記事では"Python"を使用します。 Minecraftを起動した状態で下のコードを入力してください。(ファイルの場所を変更している場合はご注意ください)cd mcpi/api/python/mcpipython これでpythonの入力画面になります。まずはじめにすることは、Minecraftのライブラリをインポートすることです。以下のコードを入力してください。import minecraft 続いて、pythonとMinecraftを接続し、pythonからMinecraftを操作できるようにします。以下のコードを入力してください。mc=minecraft.Minecraft.create() これでpythonからMinecraftを操作できるようになりました。試しに"Hello World"を行ってみましょう。以下のコードを入力してください。mc.postToChat("Hello Minecraft World!") 他のメッセージも当然表示させることができますので、色々試してみてください。 さて、Minecraftの本題とも言える"ブロック"を置く作業をpythonから実行してみましょう。まず、原点付近にワープしてください。以下のコードの()の中の数字を弄ることでどんな場所にもワープできます。mc.player.setTilePos(0,0,0) blockデータをimportし試しにひとつ置いてみます。import blockmc.setBlock(0, 10, 0, block.STONE) 如何でしょうか?原点付近に石ブロックが現れたはずです。簡単にブロック設置のコードの説明をしますと、mc.setblock("X座標"、"Y座標"、"Z座標",block."ブロック名")となっております。もし原点付近が山などの場合は、場所を移動し、画面左上に表示されている座標を参考にしながら()の中の座標を変更してください。ブロックの種類についてはこちらのwiki(英語)を参考にしてください。 正直一つ置くだけであれば普通に置いたほうがはやいです。pythonから操作する上での利点は複雑な構造体をプログラミングを書くことで簡単に作成できる点です。まずは横に並べてみましょう。for x in xrange(0, 10): mc.setBlock(x, 10, 0, block.STONE) 所謂繰り返し構文と呼ばれるものです。繰り返し構文を使う際の注意として、インテンドの挿入を忘れないようにしてください。エラーがでます。xの値を0~10へ一つずつ増やしていき、そのたびにブロックを配置していくというものです。10個程度ならば手動のほうがはやいかもしれませんが、100個200個でも数値を変えるだけで簡単に配置することができます。 次は壁をつくってみましょう。以下のコードを入力してください。for x in xrange(0, 10): for y in xrange(0, 10):  mc.setBlock(x, y, 0, block.STONE) 単純に先ほどの横に並べるプログラムに縦の概念を加えただけです。所謂2重ループと呼ばれるものです。簡単にどういった操作をするか説明すると以下のようになります。xの値に0をセットする→yの値に0をセットする→0,0,0の座標に石ブロックを配置する→yの値に1を加え1をセットする→(0,1,0)の座標に石ブロックを配置する~~→(0,10,0)の座標ひ石ブロックを配置する→xの値に1を加え1をセットする→yの値に0をセットする→(1,0,0)に~という具合にまず2行目のループを実行し、yの値が10になったらxの値に1を加え再び2行目のループを実行するという動作をxの値が10になるまで繰り返します。 続いてキューブを作成してみましょう。以下のコードを入力してください。for x in xrange(0, 10): for...