【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。
空気ブロックを並べる
ゲームの終了後にマグマを除去するには
メインループの条件を変更する
このレッスンでは、メインループである[溶岩]ブロックの繰り返しに条件を設定して、ゲームオーバーになったときに処理が止まるようにプログラミングします。
そのままでは生成された[溶岩]ブロックが残ってしまうので、[空気]ブロックを使ってすべて除去します。闘技場を繰り返し使えるようにしましょう。
闘技場の上のマグマの滝は、ゲームオーバー後も存在している
空気ブロックを並べれば、ゲームオーバー時にすべて除去できる
1ゲームオーバーの変数を「偽」にする
HINT 変数は初期化して使う
プログラムの中で変数を使う場合は、必ず最初に初期化する必要があります。手順1ではチャットコマンド[start]を入力した直後のタイミングで変数[gameover]を初期化しています。対戦バトル開始時はゲームオーバーではないので、ここでは「偽」を値として指定しています。
2メインループを変更する
HINT ゲームオーバー以外の条件で繰り返すように設定する
変数[gameover]が「真」になっただけでは、ゲームの処理は止まりません。手順2では[溶岩]ブロックをランダムに発生させる処理がゲームオーバーのタイミングで止まるように、[もし[真]ならくりかえし]ブロックの条件を変更します。[ではない]ブロックを使うと、ゲームオーバーではないときだけ繰り返すように条件を指定できます。
間違った場合は?
手順2の操作4で変数[gameover]を組み込むときに、操作3で組み込んだ[ではない]ブロックが押し出されてしまうことがあります。[ではない]ブロックが組み込まれていないとプログラムは動作しないので、必ず正しい順序で組み込むようにしましょう。
3空気ブロックを並べる
間違った場合は?
手順3で[ブロックを並べる]ブロックを接続する位置は、ゲーム内時刻が夕方以降になり、[溶岩]をランダムに発生させるループ処理が停止した後になります。
ゲーム内時刻でゲームオーバーを決定する条件分岐や、[溶岩]をランダムに発生させるループ処理の中に入れてしまうと正しく動作しないので注意しましょう。ブロックの左端がプログラムを開始する[チャットコマンド[start]を入力したとき]に隣接していることを確認してください。