【Minecraftプログラミング】は、「Microsoft MakeCode for Minecraft」を利用してマインクラフトの世界でプログラミングを学ぶ連載です。毎週月~金曜日更新。
ワールド座標でブロックを並べる
ブロックの座標を変数にするには
計算ブロックと変数を組み合わせる
このレッスンでは[ブロックを並べる]ブロックや[文字を描く]ブロックで指定している座標を変数に置き換えます。
プレイヤーからの相対座標ではなくワールド座標と変数を組み合わせることで、プログラムの実行中にプレイヤーが移動しても闘技場や文字が作成される位置が変わらないようにします。
二重、三重に入れ子になったブロックをいくつも使うので、ブロック群を複製して効率良く作業しましょう。
1ワールドのブロックを組み込む
HINT ワールド座標と変数を組み合わせる
[ブロックを並べる]ブロックのように座標を指定して使うブロックは、プレイヤーからの相対座標を入力するようになっています。このレッスンではプレイヤーの初期位置を格納した変数[x][y][z]を[ワールド[0][0][0]]ブロックに組み込んで、相対座標と同じ位置関係になるように設定します。
間違った場合は?
[ワールド[0][0][0]]のブロックを組み込むのを忘れても、手順通りに進められます。ただし、プログラムを実行しても正しい処理が行われません。相対座標とワールド座標の切り替えは見落としがちな部分なので、十分に注意しましょう。
2計算ブロックと変数ブロックを組み込む
HINT 座標の要素ごとに変数を指定する
手順2では絶対座標の変数を使って、相対座標の指定が絶対座標になるように置き換えています。ブロックを並べる範囲の始まりと終わり、それぞれの「x」「y」「z」の座標すべてを置き換える必要があるので慎重に作業しましょう。
間違った場合は?
計算ブロックの中で指定する「変数」「算術記号」「数値」の1つでも間違えるとプログラムが正しく動作しません。相対座標のときの数値[-21][-1][-21]を元に正しく入力しましょう。間違った場合は、修正したい部分をクリックして変更します。
3ほかのブロックも置き換える
HINT ブロックを複製して作ろう
HINT 文字を描くブロックの座標も置き換える
文字を描くブロックの座標も忘れずにワールド座標に変更しましょう。相対座標が設定されたままだと、プレイヤーが移動したときに文字が描画される場所が変わってしまうので注意しましょう。
4プレイヤーの初期位置を変更する
HINT スポーン地点をコマンドで指定する
[setworldspawn~ ~ ~]のコマンドを使うと、プレイヤーが死亡したときに復活するスポーン地点を変更できます。ここでは闘技場を作るコマンド「field」を実行したときに、プレイヤーのスポーン地点を現在の座標に設定するようにしています。対戦バトルの途中でプレイヤーが死亡した場合は、闘技場の下の[海のランタン]の中央に復活します。
間違った場合は?
マインクラフトのコマンドは、スペルを1文字でも間違ってしまうと実行されません。手順4で入力するコマンドは「set」「world」「spawn」「~ ~ ~」をスペースなしでつなげたものなので、意味のある区切りのスペルを確認しながら入力しましょう。