黄昏より暗きもの、血の流れより赤きもの

読者です 読者をやめる 読者になる 読者になる

黄昏より暗きもの、血の流れより赤きもの

自分の好きな事を好きなように書いて行きます。

【Raspberry Piをさわってみた(1)】Minecraft Pi Editionの基本操作〜Pythonでメッセージ表示まで


f:id:program_study:20150523195229j:plain

はじめに

Minecraft』(マインクラフト)は、Notch(マルクス・ペルソン)とその会社 (Mojang AB) の社員が開発したサンドボックスゲーム。ブロックを空中や、地面に配置し、自由な形のものを作っていくゲームである。MinecraftにはRaspberry Piと言うべき「Minecraft Pi Edition」が用意がある。今日はこのMinecraft Pi Editionについて話したい。

Minecraft Pi Editionの特徴は、mcpiというAPIPythonを使う事で、メッセージを画面上に表示させたり、キャラを自動的に移動させたり、ブロックを自由に置いたりする事ができる事だ。簡単に言えばゲームのハックプログラムやチートを簡単に組めるのが魅力的な点だ。海外の人の投稿事例も多く、My first script for Minecraft Pi API: a rainbow などでは、Sinカーブを使って虹を描いてみた事例まで紹介されている。今日はそんなMineCraft Pi Editionの基本操作について話したい。

1.移動について

MineCraft Pi Editionを開くと、左上にPosという数値が表示され、これが現在位置にあたる。尚x,y,z座標の配置は以下の図のようになる。横幅の方向がx、高さがy、奥行きがzと言う具合に覚えておくとよい。


f:id:program_study:20150523195300p:plain

移動における各キーの働きは、以下の通りとなる。

キー 移動方向 座標
Aキー 左に移動 x軸負の方向
Dキー 右に移動 x軸正の方向
Wキー 上に移動 z軸正の方向
Sキー 下に移動 z軸負の方向
space 縦上方向に移動する y軸正の方向
shift 縦下方向に移動する y軸負の方向

操作していて良く海に落ちてしまい、脱出不能となることがある。こんなときにspaceやshiftで一旦空中に移動したりすると便利だ。

2.メニュー画面について

Minecraft Pi Editionでは 「ESC」キーを押すと、下のようなメニュー画面に移行できる。このメニュー画面について説明する。

操作画面


f:id:program_study:20150523154048j:plain

各ボタンとその働き

ボタン 働き
画面上左のボタン[1] サウンドのON/OFF
画面上右のボタン[2] 俯瞰視点/自己視点の切り替え
Back to game[3] ゲームに戻る
Quit to game[4] ゲームをやめる

3.ブロックを地面に配置する

次はいよいよMinecraft Pi Editionの肝というべき、ブロックを空中や、地面に配置し、自由な形のものを作っていくキー操作やマウスの操作について説明して行く。

各ボタンとその働き

ボタン 働き
マウスを左クリック 既にあるブロックを1つ撤去(剣装備時)
マウスを右クリック ブロックをマップに配置
マウスホイール 下のパレットから、マップに配置するブロックを選択
Eキー マップに配置するブロックの選択画面に移行

Eキーを押すと以下のような画面が表示され、色々なブロックから好きなブロックを選ぶことができる。


f:id:program_study:20150523154836j:plain

4.Pythonminecraftと表示してみよう

最後はPython側からの操作で、minecraftと表示するまでを紹介したい。まずはviやテキストエディターなどで以下のようにプログラムを書いてみる。ソースコード「Minecraft Pi Editionで遊びながらプログラミングの勉強!TONGARISM.COM」さんを参考に以下のようにソースコードを書く。

ファイルのあるフォルダーまでcdで移動し、「python 指定したファイル名.py」と入力すると、以下のように画面にメッセージが表示される。これはゲームで何かあったときの警告を表示するときに使えそうだ。


[f:id:program_study:20150519221323j:plain]

ちなみにpython2のウインドウを呼び出して、これと同じコマンドを打ち込んでもminecraftと表示される。お暇な方は是非ともお試しあれ。

5.最後に

今日は、ゲームの基本操作とPythonで操作するまでを簡単にまとめた。自分もこのゲームを初めたばかりでつたない説明となってしまった。次回はPythonを使ってブロックを配置する事について説明したい。