【マイクラ】プログラミングで「ワープブロック」を作ってワープ!【メイクコード】
今回の内容
おすすめ記事
「ワープブロックでワープする」プログラムを作る
やっほー 春日部つむぎだよ
なのなのだ ずんだもんなのだ
『マイクラ』をやっていると楽しい場所がたくさん見つかるけど、移動が面倒なのだ。
じゃあ、乗るだけでワープができる「ワープブロック」をプログラミングで作ってみようか!
そんな便利なものも作れるのだ?! 早速作るのだ!
それじゃあ『マイクラ』と『メイクコード』を準備してプログラミングを始めよう!
- 『MineCraft(マインクラフト)』はMicrosoftが提供しているサンドボックスゲームです。プレイヤーはブロックを積み上げて建物を作り上げたり、広い世界を冒険してモンスターと戦うことができます。メイクコードを使ってプログラミングをするためには統合版が必要です。
- 『MakeCode(メイクコード)』はMicrosoftが提供するオープンソースのプログラミング学習プラットフォームです。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングの2種類のエディタを切り替えながら、プログラミングできます。
『マイクラ』で準備をしよう
まずは『マイクラ』の方で準備をするために、「ワープ先」と「ワープのためのブロック」を決めておこう
それじゃあ、「《鉄ブロック》に乗った時にエージェントの前にワープ」するプログラムを作るのだ
エージェントとは、プログラミング学習を手助けしてくれる統合版に存在するModキャラクターです。
『メイクコード』の起動時に自動的に出現します。
「ワープ先」の場所を調べよう
まずはワープ先になる「エージェントの前」の座標を調べよう。 後で使うから忘れないようメモを取っておいてね!
座標とはプレイヤーの場所を表すもの(足元の場所)です
『マインクラフト』では座標はx座標(東西)、y座標(高さ)、z座標(南北)の3つがあり、[x,y,z]の順番で表示されています。
「-」記号のついた数字は、ついていない数字の反対方向になる場所と覚えておきましょう!
エージェントの前は[0,-60,1]だったのだ
確認ができたね。 今回『マイクラ』でやっておくことはこれだけだから次は『メイクコード』に切り替えてプログラミングしていこう!
プログラミングをはじめよう
コードを準備しよう
それじゃあコードを準備していくね。今回は【現在の位置から[~0,~0,~0]にテレポートする】【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】【ワールド[0,0,0]】【ずっと】【もし〈真〉なら】を使うから準備しておいてね
コードは画面左にある項目のように分かれています。今回必要となるブロックと対応する項目は以下の通りです。
- プレイヤー ⇨ 【現在の位置から[~0,~0,~0]にテレポートする】
- ブロック ⇨ 【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】
- ポジション ⇨ 【ワールド[0,0,0]】
- ループ ⇨ 【ずっと】
- 論理 ⇨ 【もし〈真〉なら】
準備ができたからプログラミングを始めるのだ
コードを組み合わせていこう
メイクコードでは以下のようにブロックを組み合わせてプログラミングしていきます。
- 凹凸のついたブロックは組み合わせられます
- 入力・選択部分が丸い形やをしているものは同じ形のコードをはめ込めます
凹凸の付いたブロックを組み合わて作る大まかな動きと入力・選択欄を変更して詳細な動きを設定していくのが、プログラミングの基本となります。
今からコードを組み合わせていくんだけど、座標の入力やブロックの設定は後でするから、今は組み合わせて置いておいてね
まずはテレポートする場所を設定するために、【ワールド[0,0,0]】を【現在の位置から[~0,~0,~0]にテレポートする】の座標部分に組み合わせるよ
普通の座標指定([~0,~0,~0]表記)では自分が今いる位置が基準になり、ワールド座標指定([0,0,0]表記)ではそのワールドの座標が基準になるという違いがあります
まずはテレポートのプログラムが完成なのだ。 次はテレポートするための条件部分を作っていくのだ
今回は《鉄ブロック》に乗ったらワープしたいのだ
そうだね。 そういう条件を付けたいときには、【もし〈真〉なら】っていうコードを使うんだ!
【もし〈真〉なら】のコードは、〈真〉の部分に条件を付けてそれが正しいかどうかを判定するものです。
条件が正しい(真)なら組み合わさっているコードが動作し、条件が間違っている(偽)なら動作しません。
うーん、少しイメージがつかないのだ…。
そうだなー…。 ずんだもんはプレイヤーの項目に【次の《アイテム》が使われたとき】っていうコードがあるのは知ってる?
何度か使ったことがあるから、もちろん知っているのだ。 自分で設定したアイテムを使うと、組み合わさっているプログラムを動かすやつなのだ
その通り! それって言い換えると「もし《アイテム》が使われたならプログラムを動かす」って言えるんじゃない?
…たしかにそうなのだ! じゃあ、今まで気づいてなかっただけで実は【もし〈真〉なら】を使っていたのだね!
イメージもついたみたいだから、続きを進めていこう。 今回なら【もし〈真〉なら】の〈真〉の部分に「《鉄ブロック》に乗ったら」って付けたいよね
乗ったかどうかを判定するには、【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】を使って自分の下に選んだブロックがあるかどうかを調べるんだ!
【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】のコードは、指定したブロックが入力した座標にあるかを判別するものです。
単体では使えず他のコードと組み合わせて使用します。
それじゃあ、【もし〈真〉なら】の〈真〉の部分に【《ブロック》が[~0,~0,~0]の地点に存在するか、確認する】を組み合わせて、座標を設定していこう!
動かす条件や座標を設定しよう
まずは自分の下にあるブロックを調べるのだ。 でも、毎回自分の下の座標を入力するのは大変なのだ…
ずんだもん、それは「ワールドが基準の座標」の時の話! 今回は「自分が基準の座標」で進めれば大丈夫だよ!
…たしかにそうだったのだ! いつもワールド座標ばかり使っているから忘れていたのだ!
自分基準で座標を指定するときは、座標の前に「~」がついている状態で進めればよかったのだよね
どの方向に座標を設定すればいいのか分からない時は、実際にキャラを動かしてみて座標がどう変化しているかを確認してみましょう
足元のブロックを壊して一段下がるとy座標が-1されているから、y座標をー1すればいいのだ!
ついでにプログラムを動かすためのブロックを《鉄ブロック》に変更するのだ
アイテムやブロックの種類はアイコンが描いてある場所を押すと変えることができるから、 みんなも好きなものを選ぶのだ。
ここまで出来たら、最後にテレポート先の場所を入力しよう
メモを確認するのだ。 …座標は[0,-60,1]なのだ!
あとは、今作った条件プログラムの中にテレポートのコードを組み合わせて、それを【ずっと】の中に入れると完成だよ!
これで完成なのだ!
それじゃあ実際にプログラムを動かしてみよう!
動かすには右下のスタートボタンを押して、ボタンの色が緑色から赤色になったら準備完了!
あとは『マイクラ』でプログラムを動かすために決めた条件の行動をすればOK!
動かす前にはプログラムが合っているか最終確認しておくのだ!
プログラムを動かそう!
《鉄ブロック》の上に乗ってプログラムを動かしてみるのだ
「エージェントの目の前にワープできた」なら今回の目標は達成だね!
大丈夫だったのだ!
さいごに
おつかれさま! 今回は「ワープブロックでワープする」プログラムを覚えたね!
- プログラムを動かす条件の作り方を覚えておこう!
- 座標の指定方法が2通りあることを覚えておこう!
- 自分の下にあるブロックを判別する方法を覚えておこう!
これを使っていろいろな所に旅に出てくるのだ! 行ってきますなのだ!!!
ちゃんとお家に帰ってこれるようにしておくんだよ~
最後に練習問題を用意してみたから、よかったら挑戦してみてね!
プログラムを変更してみよう!
問題1
座標の指定でワールド座標を使って、鉄ブロックの場所から[3,0,-6]だけ離れた位置にワープしてみよう!
「[3,0,-6]の場所にワープ」ではなく「[3,0,-6]離れた場所にワープ」するのに気を付けよう!
問題2
座標の指定でワールド座標を使わず、問題1のブロックの場所から[3,0,-6]だけ離れた位置にワープしてみよう!
ワープした場所が問題1と同じになっているか確認しよう!
問題3
ワープ地点を3ヵ所以上作って「A→B→C→A→B→C→A……」とずっとワープするようにしてみよう!