【Minecraftプログラミング】特定のワールド座標にブロックを置く
ロボテックではMinecraft(マインクラフト)でプログラミングをする授業も行っています。
使用しているのは教育版の「Minecraft Education Edition」。
https://education.minecraft.net/ja-jp/homepage

やりたいことは
今回やりたいことは、Minecraftプログラミングで「特定のワールド座標にブロックを置く」こと。
普通、Minecraftプログラミングでは、ブロックなどを置く座標は、プレイヤーの位置を中心にした相対座標が使われます。
あるカリキュラムの中で、プレイヤー同士が剣?武器を持って戦う競技場を作りました。
競技場の外側の特定の位置にポイントをつける得点ブロックを積み上げようとしました。
しかし、プレイヤーは動き回ります。
どうやっていつも同じ位置にブロックを積み上げたらいいの??
そんなとき使用するのが「ワールド座標」です。
「ワールド座標」とは、マインクラフトのワールド内での絶対座標のことです。
プレイヤーやブロックがワールド内のどの位置にいるかを表します。
プレイヤーが動き回っても、絶対座標であるワールド座標は変わりません。

プレイヤーの座標を覚える
早速作ってみます。
チャットコマンド「set」を入力したら、
変数x、y、zにプレイヤーのワールド座標を覚えさせます。

競技場を作る
覚えたプレイヤーの最初の位置を基に、20×20のサイズの競技場を作ります。

競技場の外に得点ブロックを置く
これがやりたかったことです。
覚えたプレイヤーの最初の位置を基に、競技場の外に得点ブロックを積み上げていきます。
チャットコマンド「pointl」を入力したら、左側の得点ブロックを積み上げます。

チャットコマンド「pointr」を入力したら、右側の得点ブロックを積み上げます。

チャットコマンド「init」を入力したら、得点をリセットします。

動かしてみる
プレイヤーの位置を覚えるために、チャットコマンドに「set」を入力します。

次に競技場を作るために、チャットコマンドに「field」を入力しすると、競技場ができあがります。


次に得点をリセットするために、チャットコマンドに「init」を入力します。

得点ブロックを左側に積み上げるためには、チャットコマンドに「pointl」を入力すると、
エメラルドブロックが積み上がります。


得点ブロックを右側に積み上げるためには、チャットコマンドに「pointr」を入力すると、
金ブロックが積み上がります。


さいごに
「ワールド座標」を覚えると色々と応用がききそうですね!
ワールド座標のほかに、今回は「変数」をさらっと使いました。
変数が出てくると一気にプログラミングっぽくなりますが、今回は最初の座標を覚えておいてもらうために使用しました。
座標?変数?よく分からないという方は、ぜひロボット・プログラミング教室のロボテックで、一緒に学んでみましょう!!
********************
ロボット・プログラミング教室ロボテックでは、子どもたちが興味を持つブロックという教材を通じて、強要されることなく自然な流れで課題を解決し、それを発表する、さらには他の人の意見に耳を傾けるという力を育んでいきます。
ロボテックでは、ロボットづくり・マインクラフトでゲームづくり の無料体験を行っております。
お気軽にお申し込みください!
無料体験のお申込みはこちら