見出し画像

Minetestでロボットプログラミング

はじめに

私は中学校技術科の授業でMinetest(マインテスト)を使ったプログラミングをしています。日本語の資料が少なくて苦労したので、入門用の資料をここにおいときます。MinetestではLWScratchというMODを導入することで、マイクラ(Minecraft Education)の「エージェント」と似たようなロボットプログラミングを体験できます。

ロボットの設置

ロボット(ltch)をワールド上に設置します。Publicに設定すると、他のプレイヤーもプログラムを変更できてしまいます。マルチプレイで授業をする際はPrivateに設定し、ロボットを設置したプレイヤー自身しかプログラムできないようにしています。ロボットの見た目は全て同じなので、名前も設定しておきましょう。
設置したロボットを右クリックすれば、プログラミングができます。Scratchのようにタイルを並べてコーディングする形式です。
プログラミング画面の右中央がロボットのインベントリです。ここにあらかじめブロックを持たせておかないと、プログラムを実行してもブロックを設置できません。ここではレンガブロックを持たせています。
まずは簡単なプログラムを作って、実行してみましょう。

プログラムの修正

不要なブロックは、画面右上の命令タイルがない灰色のエリアにドラッグすれば削除できます。また、1行まるごと削除するRemove lineという命令タイルや、1行挿入するInsert lineという命令タイルもあります。

繰り返し処理

LoopCounter is less thanNumberのタイルの組み合わせて、繰り返し処理ができます。Numberのタイルに数値(Value)をセットする手順が独特なので、慣れるまでは難しいです。

多重繰り返し処理

以下のプログラムは、ブロックをロの字形に設置します。Nタイル(Number)の数値は、実際の画面上ではマウスオーバーしないと確認できません。

ロボットの緊急停止

プログラムが暴走した場合は、ロボットをShift+クリックすると緊急停止できます。

ロボットの持ち運び

ロボットは壊してアイテム化すると持ち運び可能です。プログラムは消えません。ただし、ロボットがインベントリにアイテムを保持していると壊せません。

プログラムのコピー

プログラムのコピー:Cassetteを手に持ってロボットをクリック
プログラムの貼付け:コピー済みのCassetteを手に持って、ロボットに対してShift+右クリック

ブロックをロの字に置いて、片付ける

以下のプログラムは、ロボットが1周回りながらブロックをロの字形に設置し、もう1周回りながらブロックを壊します。ロボットが壊したブロックは、ロボットのインベントリに戻ります。設置したブロックを片付けるプログラムを作っておくことで、何度でも繰り返し実行することが可能になります。

ブロックを階段状に置いて、片付ける

以下のプログラムは、ロボットがブロックを階段状に設置しながら登っていき、次に階段を降りながら壊していきます。

ブロックを渦巻き型に置いて、片付ける

以下のプログラムは、ロボットがブロックを渦巻き型に設置しながら歩いていき、次に壊しながら同じルートを戻っていきます。Vタイルで変数(Variable)を使っています。変数関連のタイルにはNタイルと同じ手順で変数名を設定しておかないといけません。ここではcntという変数を作って使っています。

ブロックをピラミッド型に置いて、片付ける

おわりに

ここに挙げた作例を改造するだけでも、結構面白いものが作れると思います。マイクラのエージェントやScratchを使いこなせている子なら、すぐに適応できると思います。ただし、操作方法にクセがあるのと、説明が英語のみなので、初心者には難しいかもしれません。


いいなと思ったら応援しよう!