連載
» 2016年02月29日 05時00分 UPDATE

マイクラで始めるプログラミング入門(終):ScratchプログラミングでMinecraft一級建築士を目指せ! (1/2)

本連載では、子どもたちに大人気のゲーム「Minecraft」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。最終回は、ブロックを積み上げたり消したりしていろいろな形を作るプログラミングの仕方を動画で解説する。これを学ぶことで建物や町、景観などをMinecraft上に再現するヒントにしてほしい。

[薬師寺国安,PROJECT KySS]

これぞマイクラの醍醐味! ブロックを積み上げたり消したりしていろいろな形を作ろう

 本連載「マイクラで始めるプログラミング入門」では、子どもたちに大人気のゲーム「Minecraft(マインクラフト、マイクラ)」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。具体的には、小型PC端末Raspberry Pi(ラズベリーパイ、ラズパイ)上でビジュアルプログラミング環境である「Scratch(スクラッチ)」からMinecraftを操作する方法を解説する。

 前回の「プログラミングの『繰り返しの入れ子』『条件分岐』でMinecraftの世界を自由自在に変えちゃおう」までで、ブロックを積み上げたり、消したりするプログラムを作ることでプログラミングの「命令」「変数」「繰り返し」「イベント」「繰り返しの入れ子」「条件分岐」「座標値の変化と取得」などについて学べることを解説してきた。

 最終回の今回は、「Scratch2MCPI」からMinecraft Pi上にいろいろな形のブロックを作ってみる。複雑な形を作るには、縦(Minecraft PiではZ軸)、横(Minecraft PiではX軸)、高さ(Minecraft PiではY軸)という立体的な座標の考え方をしっかりと身に付けないと、思い通りの形を作れないだろう。

 そこで、まずは縦(Z軸方向)と横(X軸方向)の考え方から学び、次に、これまでの連載でも何度か出てきた、横と高さの考え方をあらためて身に付けよう。その上で、複雑な図形や文字を描くサンプルの中身を見ることで、ブロックで複雑な形を作る方法を学んでほしい。

ブロックを縦(Z軸方向)と横(X軸方向)に積んだり消したりして、地面に図形を描く

 今までは、「壁」「塔」など、Y軸方向(高さ)に積み上げられるものを作成してきたが、今回のサンプルでは、まずブロックを地面に直接配置する方法を解説する。X軸方向(横)とZ軸方向(縦)にブロックを積むイメージだ。

 地面に配置したブロックの一部分を消したのが図1だ。このように地面に配置されたブロックの全体図は、高い位置からでないと確認ができない。そこで、キーボードのスペースキーを2回連打して宙に浮き、その後スペースキーを押し続けて上空に舞い上がっていこう。上空から下の世界を見ると、ブロックで図柄が描かれているのがよく分かる。

図1 Minecraft Piの世界で上空から地面を見たところ(地面に配置したブロックの一部分を消している)

 左上からX軸方向に水色で0〜6の数字、Z軸方向に黄色で0〜6の数字を書いている。座標もそうだが、プログラミングの考え方だと、数を数えるときに数字が「1」からではなく、「0」から始まることが多いので、注意してほしい。

 まずは、地面に縦7個、横7個の合計49個のブロックを作成する。mcpiZの値は、0から始まり、1、3、5の位置をくり抜いている。mcpiXの値は常に1だが、ブロックを消す処理を4回繰り返すことで、4ブロック分消すことになる。図1の左から見てXが1の座標の次からくり抜かれていく。

 詳しくは、動画1を見てほしい。

ブロックを横(X軸方向)と上(Z軸方向)に積んだり消したりして、建物っぽくする

 次に、配置したブロックの一部分を切り抜いて、いろいろな形のものを作ってみる。さらに、壁も作成して、指定した位置のブロックを消して、任意の位置をくり抜いた形の壁を作成してみる。

 壁の一部分をくり抜いて作ったのが図2だ。左下からX軸方向に水色で0〜9の数字、Y軸方向に薄緑色で0〜9の数字を書いている。図1と異なり、X軸方向が右から左になっているのは、建物の裏からの視点だからだ。慣れていないと混乱するかもしれないが、座標の考え方として身に付けてほしい。

図2 ブロックを積んだり消したりして窓がある建物っぽくした

 まず、10×10の壁を創造する。そして、変数「no」(ナンバー)を新たに作ってみる。これまでの連載では、Scratch2MCPIにもともと用意されていた変数に値を入れたり、取得したりしてきたが、変数は自分で作ることもできるのだ。

 次に、変数「no」に「1」を入れておく。その変数noの値をmcpiXに代入し、そのnoの値を8回繰り返して、横に1ブロックずつずれて表示させる。

 続いて、mcpiYの上方向に1ブロックずつ5ブロック分「空気」のブロックが積み上げられるようにする。すると、横8、上5(8×5)の、図2のような空間が出来上がる。空間の部分には8×5の計40個の「空気」のブロックが配置されていることになる。

 上方向に5段の「空気」のブロックが積み上げられると、X軸に1ブロックずれて、またY軸方向に5段のブロックが積み重ねられていく。これを8回繰り返すと図2のような図形が出来上がる。動画2を参照してほしい。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。