本連載では、子どもたちに大人気のゲーム「Minecraft」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。今回は、Minecraftの世界に“壁”を作成する、たたいたブロックの“座標”を取得するサンプルから、プログラミングの「繰り返しの入れ子」「条件分岐」「座標値の変化と取得」などを学ぼう。
本連載「マイクラで始めるプログラミング入門」では、子どもたちに大人気のゲーム「Minecraft(マインクラフト、マイクラ)」を題材にYouTube実況動画付きで「プログラミング」を学んでいく。具体的には、小型PC端末Raspberry Pi(ラズベリーパイ、ラズパイ)上でビジュアルプログラミング環境である「Scratch(スクラッチ)」からMinecraftを操作する方法を解説する。
前回の『プログラミングの「命令」「変数」「繰り返し」「イベント」って何?→初心者でもMinecraftなら理解できる!』では、ブロックを積み上げたり、消したりするサンプルでプログラミングの「命令」「変数」「繰り返し」「イベント」について学べることを解説した。
今回のサンプルでは、プログラミングとして少し高度な、「繰り返しの入れ子」「条件分岐」「座標値の変化と取得」などについて学ぶことができる。
まずは、Minecraft Piの世界に、「Scratch2MCPI」から、各種壁を作成するプログラミングを解説する。
壁を作成する手順は、基本的には、前回の10段のブロックを積み上げる処理と変わらない。10段積み上げられたブロックの塔を、再度X軸(横)に沿って並べていけば、自然と壁は出来上がる(図1)。
「Scratch2MCPI」とMinecraft Piを接続して壁を作成していく処理を紹介したのが動画1だ。
「前回の塔や壁を作って何が面白いのか!」と思われる方もおられるだろう。塔や壁を作成しておくと、これ以後のプログラミングで、たたいた壁のブロックを消したり、たたいた壁のブロックを、違う種類のブロックに変更したりと、いろいろ面白いことができるようになる。
その意味でも、最初は単なる塔や壁の作成にすぎないが、これらを基に、いろいろなプログラミングが可能になるので、これ以降の動画も楽しみにしておいてほしい。
なお、この壁を作成する場合には、ちょっと気を付けなければならない点がある。それは、X軸にブロックを並べる場合は、Y軸の値を「0」で初期化しておく必要があることだ。初期化していないと、とんでもない塔が作成されるので、注意が必要だ。
また「制御」の中にある「10回繰り返す」命令を「入れ子」にするのもポイントとなるだろう。壁はY軸に積み上げられたブロックの塔を、X軸に並べていくわけだから、「繰り返し処理」を2回記述する必要がある。
このように、「繰り返し」の中に、再度「繰り返し」を入れることを「入れ子」と呼ぶ。これらの点については、動画の中で解説しているので参照してほしい。
次に、たたいたブロックの座標を取得するプログラミングを解説する。
まず、Minecraft Piの世界に、ブロックを配置する。このブロックはプログラムで配置するのではなく、キャラクターが画面下の「ホットバー」から、マウスホイールで選択したものを使用する。
配置されたブロックを画面中央の「+」マークに合わせて、キャラクターがマウスの右クリックでたたくと、たたかれたブロックのX座標とY座標を、「Scratch2MCPI」の中の「猫」(Scratchでは「スプライト」と呼ぶ)が、吹き出しで表示する(図2)。ブロックをたたく場合は、必ず「剣」を選択し、マウスの右クリックでたたく、左クリックでたたくと、ブロックを破壊してしまうので、十分に注意してほしい。
今回のポイントは、キャラがたたいたブロックの座標の取得方法にあるので、その点に気を付けて動画2を見てほしい。
次ページで補足の解説をする。
Copyright © ITmedia, Inc. All Rights Reserved.