【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。
変数で増やす
水が届く範囲まで畑にするには
外側ほど長く耕すようにする
変数を使ってエージェントに耕させる範囲を外側に広げていき、畑を完成させます。水源から遠くなるほど、エージェントが耕す長さは長くなります。最終的に水源から4ブロック分外側に移動し、9×9ブロックの畑ができるようにプログラミングします。
水源を1周したエージェントは、耕す前と同じ場所に戻る
エージェントを水源の対角線に移動させ、畑の範囲を広げていく
1変数を追加する
HINT 水源から最大4ブロックまで畑にできる
マインクラフトの農耕には水源が不可欠ですが、利用範囲は4ブロックまでとなっています。水源から4ブロック離れると作物は育たず、畑も乾いて土に戻ってしまいます。この章で作った畑は、水源が1つの場合での最大の大きさです。
2ブロックを組み込む
HINT 長さは2からスタートする
変数[1辺の長さ]は、エージェントが一度に耕す距離を決めています。水源の周囲を耕すには2ブロック分作業する必要があるので、初期値を「2」に設定します。
3繰り返し回数を変数にする
HINT ここまでを実行するとレッスン39と同じ結果になる
手順3までを実行すると、レッスン39と同じように水源の周り1ブロック分を畑にしてエージェントが止まります。ここまでの動作が正しいかどうか、コマンドを実行して確かめてみましょう。次の手順からは、1ブロックずつ外側を耕すようにプログラムを作っていきます。
4耕す長さを増やす
HINT 耕す長さは2ブロックずつ増える
エージェントが水源の周りを1周するたびに、外側に向かって移動して耕す範囲が広がります。手順4 の操作1で[関数を呼び出す[doMove]]を忘れずに接続しましょう。
間違った場合は?
エージェントが耕す長さは、水源から離れるごとに2ブロックずつ増えていきます。このため、エージェントが1周するごとに変数[1辺の長さ]を2ずつ増やします。
5外側に移動する回数だけ繰り返す
HINT サバイバルモードの場合は3回まで繰り返す
この畑は、1辺が9ブロックの正方形で中央に水源が1ブロックあり、全部で9×9-1=80ブロック分あります。種も80個必要になりますが、1つのスロットには64個までしか入らないため、資源が有限な[サバイバル]のゲームモードでは種が足りなくなってしまいます。
[サバイバル]のゲームモードでこのプログラムを実行するときは、手順5の繰り返し回数を「3」に変更して、1辺が7ブロックの正方形の畑を作りましょう。