【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。

Minecraftプログラミング レッスン20条件分岐

壁面にたいまつを置かせるには

一定の間隔でたいまつを設置する

エージェントが掘った坑道は暗くて視界を確保できないので、一定の間隔で[たいまつ]を設置しましょう。レッスン15で壁面に[たいまつ]を設置したのと同じように、変数と条件分岐を使ってプログラミングします。二重ループの構造に気を付けて、効率良く明かりを照らしましょう。

坑道が暗く、見通しが悪い

曲がり角ごとにたいまつを置いて明るくできる

1変数を作る

HINT 変数の名前は同じでもいい

MakeCodeの変数はプロジェクトごとに管理されているため、異なるプロジェクトであれば同じ名前の変数を使っても問題はありません。ここでは採掘(mine)しながら[たいまつ]を置く距離を数えるため[mcount]という名前にしています。

2変数を使う準備をする

3変数を増やす

HINT 変数を初期化する位置に注意しよう

ここではエージェントが向きを変えるときに[たいまつ]を置くため、掘り進める動作の直前で変数を初期化し、向きを変える前の採掘で条件分岐が起こるようにします。

外側の[くりかえし[4]回]ブロックの上に[変数[変数]を[0]にする]ブロックを接続すると、一連の動作で最初の1回しか変数が初期化されず、[たいまつ]が最初の角にしか設置されないので注意しましょう。

間違った場合は?


[変数[変数]を[0]にする]ブロックを使う際に、プルダウンメニューで正しい変数を選択し忘れることがあります。そのままではプログラムが動かないので、必ず正しい変数を指定しましょう。

HINT 変数と条件分岐の関係を覚えておこう

変数は条件分岐とセットにして使うことが多く、変数で回数を数えたり、計算したりした結果で処理を変化させます。このとき重要になるのが、変数の内容を変える処理と条件分岐の位置関係です。

このレッスンでは[たいまつ]を置く間隔を変数で数えて、回数が4回になったときに[たいまつ]を設置します。エージェントがどの動作を行ったときに変数を増やし、どのタイミングで[たいまつ]を設置するかをあらかじめ決めておきましょう。

4条件分岐のブロックを接続する

HINT 条件分岐を発生させる位置に合わせる

手順4で[もし[真]なら]ブロックを接続するときは、位置をよく確認しましょう。ここでは変数を増やした直後に条件分岐の処理をするので、[変数[mcount]を[1]だけ増やす]ブロックのすぐ下に接続します。もし違う場所に接続してしまったときは、[元に戻す]ボタンをクリックしてもう一度やり直しましょう。

5ブロックの順序を入れ替える

HINT C型のブロックは途中に接続できない

[もし[真]なら]や[くりかえし[4]回]などのC型になっているブロックは、ブロックが連続しているところに接続すると、接続した位置から下にあるブロックが内側に入ってしまいます。C型のブロックを連続した処理の途中に配置したいときは、手順5のように内側に入ってしまったブロックを移動し直す必要があります。

6条件を作成する

HINT [たいまつ]は天井近くに設置される

手順6で作成したプログラムを実行すると、[たいまつ]は天井近くに設置されます。[たいまつ]をプレイヤーと同じ高さに設置したいときは、[エージェントを[上]に[2]ブロック移動させる]ブロックの[2]を[1]に変更し、[もし[真]なら]ブロックの下にも[エージェントを[上]に[1]ブロック移動させる]ブロックを追加します。

HINT [たいまつ]が照らせる距離とは

[たいまつ]の明かりは14ブロック先まで届きます。ただし、7ブロック離れるとかなり暗くなり、モンスターなどがスポーンします。また、プレイヤーの視界も悪くなります。周囲を常に明るく保ちたいときは、4〜5ブロックごとに[たいまつ]を置くといいでしょう。

7たいまつを右に設置する

8変数をリセットする

間違った場合は?


[たいまつ]は固体ブロックの側面、または上面にしか設置できないため、手順7で[後ろ][前][上]を選ぶと下に落ちてしまいます。[下]にも置けますが、採掘の際に誤って破壊する可能性が高くなります。[右]か[左]を選びましょう。

HINT 落盤でトンネルの形が変わる

地下の地形やブロックによっては、坑道の形が変わってしまうことがあります。[砂]や[砂利]のブロックはすき間があると落下するので、レッスン17のテクニックで紹介したように落盤が起こる場合があります。

また、水や溶岩が噴出することもあります。ゲームモードが[サバイバル]のときはプレイヤーも危険にさらされるので、[丸石]や[水バケツ]ブロックを忘れずに持っていきましょう。

テクニック ここまでのコードを確認しよう

プログラミングするときは、ある程度まとまった動作ができたらプログラムを実行して、意図通りに動くか確認しておきましょう。こまめに確認しながら作っていくと、意図しない動作が出た場合でも早い段階で間違いを発見できます。

ここまでのコードを実行すると、下のような形でエージェントが採掘をします。[たいまつ]の位置やエージェントの向きなど、細かい部分もチェックしておきましょう。

トライ&エラーはプログラミングの基本です。これを積み重ねることで大きなプログラムも作れるようになるので、覚えておきましょう。