2014年9月9日火曜日

Minecraft(マインクラフト) Piの楽しみ方(4)

みなさん、こんにちは。

今日は
Minecraft(マインクラフト)Piの楽しみ方(4)
の話をするよ

Scratch2MCPI改造版を使ったワークショップの話でしたが
今回はScratchではなくPythonで作成された
ミニゲームの話をします。

機能が少ないMinecraft Piは
プログラミング言語からのアクセスが可能
というのがその最大の特徴となっています。

それによってどんなことが実現できるのか
それを知るきっかけになればと思っています。




今回紹介するMinecraft Piを使ったミニゲームは

Minecraft-Robots
https://github.com/ZeBadger/minecraft-robots

です。

このMinecraft-Robotsは、ワールドの中にプレーヤーを追いかけてくるロボットが複数登場します。


ワレワレ ガ オイカケルゾー!


えー!なにそれコワイ


プレーヤーはこのロボットに捕まらないように逃げながら、ロボット同士がぶつかるようにうまく誘導します。

ロボット同士がぶつかると石になるので全てのロボットを石に変えられればプレーヤーの勝ち、ロボット全てを石に変えられずにロボットに捕まるとゲームオーバーというシンプルなルールです。

面白そう!


ラズベリーパイへのインストール方法は以下の通り(ホームディレクトリ/home/piで実行します)

$ git clone https://github.com/ZeBadger/minecraft-robots.git
gitがインストールされていない場合は

$ sudo apt-get install git-core

で行けると思うよ

実行はカンタン。

まずはMinecraft Piを実行して適当なワールドを開いてからLXTerminnalで

$ cd minecraft-robots
$ python minecraft-robots.py
を実行するだけ、カウントダウンが始まりゲームが始まると10体のロボットが自分を追いかけてくるよ。

良く分からないという人は以下のビデオを見てみてね。




えーん、むずかしいよぉ・・・
すぐにつかまっちゃうよぉ・・・
おなかすいたー


さっきゴハン食べたばかりなのに・・・


さて、ここでメインプログラムの中身を見てみましょう。


メインプログラムは以下のURLで見られます。

minecraft-robots.py

およそ150行程度(コメント行含む)のプログラムですね。

上の方からPlayerクラスとRobotクラスの定義、メイン部分ではスタート前のメッセージ表示、カウントダウンメッセージの表示のあと、ゲームのメインプログラム部分が続きます。

プログラムの101行目を見ると

numRobots=10

とありますのでロボットが10体出てくる、というのが読み取れます。

ということは・・・

え?なになに?
プリン10こ、たべたい!


ロボットの数を減らしたら、すぐに勝てそうな気がしませんか?


あ、そうか!


ここでこのゲームの難易度をメチャクチャカンタンに改造してみましょう!


先ほどの101行目をエディタを使って

numRobots=2

と修正して保存すればロボットは2体しか出てこなくなります。この2体を誘導してロボット同士をぶつければカンタンに勝てるようになります。

なかなかロボットに勝てなかった人はこの数値を変化させると難易度を調整できますので色々試してみてください。

このように、プログラムの中身を見て読み解くことで自分の思う通りにゲームルールをコントロールできるのです。




ゲームで遊ぶだけではなく、ぜひ改造にもチャレンジしてみてくださいね。

Minecraft Piにはこのようなミニゲームが他にも存在していますので、検索エンジンなどで探してみてね!


0 件のコメント:

コメントを投稿