【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。
条件分岐
壁面にたいまつを置かせるには
一定の間隔でたいまつを設置する
エージェントが掘った坑道は暗くて視界を確保できないので、一定の間隔で[たいまつ]を設置しましょう。レッスン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 [たいまつ]は天井近くに設置される
HINT [たいまつ]が照らせる距離とは
7たいまつを右に設置する
8変数をリセットする
間違った場合は?
[たいまつ]は固体ブロックの側面、または上面にしか設置できないため、手順7で[後ろ][前][上]を選ぶと下に落ちてしまいます。[下]にも置けますが、採掘の際に誤って破壊する可能性が高くなります。[右]か[左]を選びましょう。
HINT 落盤でトンネルの形が変わる
地下の地形やブロックによっては、坑道の形が変わってしまうことがあります。[砂]や[砂利]のブロックはすき間があると落下するので、レッスン17のテクニックで紹介したように落盤が起こる場合があります。
また、水や溶岩が噴出することもあります。ゲームモードが[サバイバル]のときはプレイヤーも危険にさらされるので、[丸石]や[水バケツ]ブロックを忘れずに持っていきましょう。