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

Minecraftプログラミング レッスン47現在の位置からテレポートする

プレイヤーを闘技場にテレポートさせるには

闘技場を作ってからテレポートする

プレイヤーが闘技場を作った後、別のチャットコマンドを実行して[海のランタン]のステージから闘技場にテレポートできるようにします。

テレポートを実行するブロックは[現在の位置から~[0]~[0]~[0]]にテレポートする]を使いますが、各種ブロックを並べたときと同様に、相対座標を絶対座標に変更する必要があります。このため、チャットコマンドを実行した直後で変数[x][y][z]を定義し、テレポートにもワールド座標を使います。

別の場所に移動して、闘技場とその下の床を作る

続けてコマンドを入力することで、闘技場の真上の場所にテレポートする

1コマンドを設定する

HINT 決まった位置にプレイヤーを移動させる

このレッスン以降で作成するプログラムは、対戦バトルを実行する内容になります。闘技場を作成するときに設定した変数[fieldcentor]をワールド座標を組み合わせて、プレイヤーの座標を正確に保ちましょう。

2座標を変数に置き換える

3テレポートの準備をする

HINT プログラムを変更すると変数がリセットされる

プログラムを停止したり変更を加えたりすると、プログラムで使っているすべての変数がリセットされます。この章のプログラムでは「field」で闘技場を作った後にプログラムを修正すると、続けて「start」を実行しても正確に動きません。プログラムの効果を確認したいときは、別の場所に移動して「field」と「start」を続けて実行しましょう。

間違った場合は?


手順3の操作4で[ワールド[0][0][0]]のブロックを組み込み忘れると、プログラムが正常に動作しなくなります。間違いやすいので、忘れずに組み込みましょう。

HINT マイクラフトのコマンドの代わりになる

[現在の位置から~[0]~[0]~[0]にテレポートする]ブロックは、マインクラフトのテレポート用コマンド「 /tp @ s」と同じ動作をします。マインクラフトの場合は座標を直接入力するのに対し、MakeCodeのプログラムは変数を使えるため、より複雑な操作ができます。