マイクラで『ボタンを押すとワープする』プログラミングをしてみよう

目次

関連記事

ワープするプログラムを作る

春日部つむぎキャラアイコン
春日部つむぎ

やっほー 春日部つむぎだよ

ずんだもんキャラアイコン
ずんだもん

なのなのだ ずんだもんなのだ

ずんだもんキャラアイコン
ずんだもん

今日は天気がよかったから探検していたのだけど、その時にいい採掘場を見つけたのだ!

ずんだもんキャラアイコン
ずんだもん

またあそこまで行きたいのだけど、大変なのだ…。 つむぎおねーちゃん、何かいいアイデアはないのだ?

春日部つむぎキャラアイコン
春日部つむぎ

それなら、プログラミングでワープできるようにしちゃえばいいんだよ!

ずんだもんキャラアイコン
ずんだもん

ワープは確かに楽なのだ! 早速プログラミングするのだ!

春日部つむぎキャラアイコン
春日部つむぎ

使うのは『マインクラフト』と『メイクコード』の2つだよ! みんなも準備しておこう!

  • 『MineCraft(マインクラフト)』はMicrosoftが提供しているサンドボックスゲームです。プレイヤーはブロックを積み上げて建物を作り上げたり、広い世界を冒険してモンスターと戦うことができます。メイクコードを使ってプログラミングをするためには統合版が必要です。
  • 『MakeCode(メイクコード)』はMicrosoftが提供するオープンソースのプログラミング学習プラットフォームです。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングの2種類のエディタを切り替えながら、プログラミングできます。

ワープの条件と移動先を決めよう

ずんだもんキャラアイコン
ずんだもん

今回は「家から採掘場へ簡単にワープする装置」が欲しいのだ。

春日部つむぎキャラアイコン
春日部つむぎ

だったら、「ボタンを押したら採掘場にワープする」プログラムを作ろうか。 まずは装置を作るから、「ボタン、吸着ピストン、好きなブロック」を一つずつ準備してくれる?

ずんだもんキャラアイコン
ずんだもん

準備万端なのだ。 僕は好きなブロックを《ダイヤモンド》ブロックにして作っていくのだ。

ずんだもんキャラアイコン
ずんだもん

まずはボタンの位置なのだ。 今回は入り口に入って右手奥の壁に作るのだ。

春日部つむぎキャラアイコン
春日部つむぎ

ボタンが置けたら、その裏側に《吸着ピストン》と《ダイヤモンド》を置くよ。 今回は下向きに置くんだけど、《ダイヤモンド》の下は穴をあけておいてね。

春日部つむぎキャラアイコン
春日部つむぎ

そうすると、ボタンを押せばピストンが動くようになるんだ。 ただし、《ダイヤモンド》の下に他のブロックがあると動かなくなるから注意してね!

春日部つむぎキャラアイコン
春日部つむぎ

これで装置は完成したから、このまま必要な座標を確認しておこう。 確認するのはピストンを動かしたときに《ダイヤモンド》が来る場所の座標だよ。

ずんだもんキャラアイコン
ずんだもん

今回は[2280,63,-21]なのだ。 あとは外見をきれいに作り直して完成なのだ。

春日部つむぎキャラアイコン
春日部つむぎ

作り直したときに、ボタンを押すとピストンが動くか確認しておこう!

ずんだもんキャラアイコン
ずんだもん

次は、採掘場の座標を確認するのだ。 ちょっと行ってくるのだ!

春日部つむぎキャラアイコン
春日部つむぎ

気を付けてね~

ずんだもんキャラアイコン
ずんだもん

………ただいまなのだ…。 目印もつけて座標も見てきたのだ。 疲れたのだ…。

春日部つむぎキャラアイコン
春日部つむぎ

おつかれさま! 座標は[2212,-29,-144]だね!

春日部つむぎキャラアイコン
春日部つむぎ

ここまでできたら準備完了! それじゃあ『メイクコード』に切り替えてプログラミングしていくよ!

プログラミングをはじめよう

使うコードを準備しよう

春日部つむぎキャラアイコン
春日部つむぎ

“ まずは必要なコードを画面に出していこう。今回は【チャットコマンド”jump”を入力した時】【チャットコマンド”jump”を実行する】【現在の位置から[~0,~0,~0]にテレポートする】【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】【ワールド[0,0,0]】【ずっと】【一時停止(ミリ秒)100】【もし〈真〉なら】の合計8つのコードを使うよ!

コードは画面左にある項目のように分かれています。今回必要となるブロックと対応する項目は以下の通りです。

  • プレイヤー ⇨ 【チャットコマンド”jump”を入力した時】【チャットコマンド”jump”を実行する】【現在の位置から[~0,~0,~0]にテレポートする】
  • ブロック ⇨ 【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】
  • ポジション ⇨ 【ワールド[0,0,0]】
  • ループ ⇨ 【ずっと】【一時停止(ミリ秒)100】
  • 論理 ⇨ 【もし〈真〉なら】
春日部つむぎキャラアイコン
春日部つむぎ

実は種類はこれで全部だけど、数が足りてないからコードを複製しよう。 【ワールド[0,0,0]】を右クリックして複製してみてね。

ポイント!

普通の座標指定では「自分が今いる位置が基準」になり、ワールド座標指定では「そのワールドの座標が基準」になるという違いがあります。
また、数字と方角の関係は「東(x座標が+)、西(x座標が-)、南(z座標が+)、北(z座標が-)」となっています。また、「y座標が+なら上、-なら下」です。

ずんだもんキャラアイコン
ずんだもん

これで全部準備できたのだ! 次はコードを組み合わせていくのだ!

コードを組み合わせよう

メイクコードでは以下のようにブロックを組み合わせてプログラミングしていきます。

  • 凹凸のついたブロックは組み合わせられます
  • 入力・選択部分が丸い形やをしているものは同じ形のコードをはめ込めます

凹凸の付いたブロックを組み合わて作る大まかな動きと入力・選択欄を変更して詳細な動きを設定していくのが、プログラミングの基本となります。

春日部つむぎキャラアイコン
春日部つむぎ

それじゃあコードを組み合わせていこう。 今回は2つのプログラムが必要になるから、1つずつ順番に進めていくね。

ずんだもんキャラアイコン
ずんだもん

作り方によっては、プログラム全部がつながっていなくても大丈夫なのだね!

春日部つむぎキャラアイコン
春日部つむぎ

そうなんだよー。 それじゃあ1つ目のプログラムを作っていくね。

春日部つむぎキャラアイコン
春日部つむぎ

まずは【現在の位置から[~0,~0,~0]にテレポートする】と【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】の座標の部分に【ワールド[0,0,0]】をはめ込もう

【《ブロック》が座標[x,y,z]の地点に存在するか、確認する】のコードは、指定したブロックが座標の場所にあるかどうかを判別するコードです。 単体では使えず他のコードと組み合わせて使用します。

春日部つむぎキャラアイコン
春日部つむぎ

次に【もし〈真〉なら】の〈真〉の部分に【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】をはめ込もう

ポイント!

【もし〈真〉なら】のコードは、条件の真偽(条件があっているかどうか)を判定し組み合わさっているコードを動作させます。
また、〈真〉は条件があっている場合(~の時)を示し、〈偽〉は条件が間違っている(~ではない時)場合を示します。 例:「〈りんごを持っている〉が真の場合に動作する」→ りんごを持っている時にコードが動作する / 「〈りんごを持っている〉が偽の場合に動作する」→ りんごを持っていない時にコードが動作する

春日部つむぎキャラアイコン
春日部つむぎ

それができたら、【もし〈真〉なら】の中に【一時停止(ミリ秒)100】と【チャットコマンド”jump”を実行する】を組み合わせてね。 順番は【一時停止(ミリ秒)100】が先に来るように気を付けてね。

ポイント!

【一時停止(ミリ秒)100】のコードは、指定した時間だけプログラムを一時停止するコードです。
時間はミリ秒であらわされているので、「1000 = 1秒」になります。

【チャットコマンド”jump”を実行する】のコードは、指定したコマンドを自動で起動するコードです。
【チャットコマンド”jump”を入力した時】とセットで使います。

春日部つむぎキャラアイコン
春日部つむぎ

あとは、今できたプログラムを【ずっと】で囲めば1つ目のプログラムは完成だよ!

ずんだもんキャラアイコン
ずんだもん

1つ目のプログラムができたのだ! あとは残っているで【チャットコマンド”jump”を入力した時】【現在の位置から[~0,~0,~0]にテレポートする】コードを組み合わせて2つ目のプログラムを作るのだ。

【チャットコマンド”jump”を入力した時】のコードは、指定したコマンドをチャットに入力するとその中身を動かすコードです。

【現在の位置から[~0,~0,~0]にテレポートする】のコードは、指定した座標にワープするコードです。

ずんだもんキャラアイコン
ずんだもん

これでプログラムは全部完成したのだ! あとは条件を設定していくだけなのだ!

発動条件と座標を指定しよう

春日部つむぎキャラアイコン
春日部つむぎ

プログラムが2つあるから【ずっと】のプログラムの中身から変更していこうか。 まずは【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】のブロック部分を《ダイヤモンド》に変更しよう

ずんだもんキャラアイコン
ずんだもん

ブロックアイコンをクリックするとブロックを変更できるのだ

ずんだもんキャラアイコン
ずんだもん

次に座標の設定なのだ。 まずは【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】の座標部分に[2280,63,-21]を入力するのだ。

春日部つむぎキャラアイコン
春日部つむぎ

最後に【一時停止(ミリ秒)100】の数値を「1000」に変更しておこう。 ここの数字は「1000ミリ秒 = 1秒」を基準にすると覚えやすいよ!

ずんだもんキャラアイコン
ずんだもん

5秒にするには「1000 × 5 = 5000」って感じなのだ!

春日部つむぎキャラアイコン
春日部つむぎ

これで【ずっと】のプログラムの設定は終わり! あとは【現在の位置から[~0,~0,~0]にテレポートする】の座標に採掘場の座標[2212,-29-144]を入れればプログラミング終了だよ!

春日部つむぎキャラアイコン
春日部つむぎ

間違えても大丈夫だから落ち着いてやってね。入力ができたら右下のスタートボタンを押そう。ボタンの色が緑色から赤色になったら準備完了だよ

ずんだもんキャラアイコン
ずんだもん

動かす前にはプログラムが合っているか確認しておくのだ!

動かしてみよう!

ずんだもんキャラアイコン
ずんだもん

『マイクラ』に戻ってプログラムを動かすのだ。 ボタンを押してみるのだ!

春日部つむぎキャラアイコン
春日部つむぎ

採掘場の目印の場所にワープすれば成功だよ!

ずんだもんキャラアイコン
ずんだもん

ちゃんとワープしたのだ! …ってあれ、もしかしてこれ、来るのはワープで簡単だけど帰るのは大変なのだ…?

春日部つむぎキャラアイコン
春日部つむぎ

…そうだね。

家にワープするプログラムを作ろう!

ずんだもんキャラアイコン
ずんだもん

………流石に3往復は疲れるのだ…。

春日部つむぎキャラアイコン
春日部つむぎ

あれは確かにしんどいね…。 もうこんなことがないように家に帰るプログラムも作っておかないとね…。

春日部つむぎキャラアイコン
春日部つむぎ

それじゃあ、今回は「採掘場にワープしてから5秒後に家に戻ってくる」ようにしてみようか。

ずんだもんキャラアイコン
ずんだもん

それならさっき作ったプログラムに少し付け足すだけで完成しそうだから、疲れててもできそうなのだ!

春日部つむぎキャラアイコン
春日部つむぎ

まずは【現在の位置から[~0,~0,~0]にテレポートする】を複製してから、【一時停止(ミリ秒)100】のコードを持ってきてね

ずんだもんキャラアイコン
ずんだもん

これを【チャットコマンド”jump”を入力した時】の中の【現在の位置から[~0,~0,~0]にテレポートする】の下につけるのだ。

春日部つむぎキャラアイコン
春日部つむぎ

「採掘場にワープしてから5秒後に家に戻ってくる」ようにするから、【一時停止(ミリ秒)100】を先に組み合わせないといけないところに注意だよ!

ずんだもんキャラアイコン
ずんだもん

あとは時間と座標を設定すれば終わりなのだ。 まず時間を5秒にするから、【一時停止(ミリ秒)100】の数値を「5000」にするのだ

ずんだもんキャラアイコン
ずんだもん

最後に座標なのだ。 今回はボタンのところに戻ってこようと思うから、【現在の位置から[~0,~0,~0]にテレポートする】の座標に[2282,64,-21]を入力するのだ

春日部つむぎキャラアイコン
春日部つむぎ

これで完成だね! あとはプログラムを動かして家に帰ってこれればいいけど…

ずんだもんキャラアイコン
ずんだもん

無事に帰ってこれたのだ!

さいごに

ずんだもんキャラアイコン
ずんだもん

ボタンを押すだけで好きな場所に行けるようになったから、いい場所をいっぱい見つけてくるのだ!

春日部つむぎキャラアイコン
春日部つむぎ

みんなもワープで帰ってくる時間を長くしたり、ボタンを増やしていろいろな場所にワープできるようにしてみよう!

春日部つむぎキャラアイコン
春日部つむぎ

最後に練習問題を用意してみたから、よかったら挑戦してみてね!

プログラムを変更してみよう!

問題1

春日部つむぎキャラアイコン
春日部つむぎ

採掘場から帰ってくるまでの時間を1分以上にしてみよう!

ポイント!

1秒にするには「1000」と設定しよう!

問題2

春日部つむぎキャラアイコン
春日部つむぎ

ボタン裏のピストン装置の向きを、向かって右側(ボタン側から見て左側)に変更してみよう!

ポイント!

《ダイヤモンド》の座標に注意しよう!

問題3

春日部つむぎキャラアイコン
春日部つむぎ

【チャットコマンド”jump”を入力した時】を新しく用意して、「”家”(または”Gohome”)と入力すると家に帰られる」ようにしてみよう!