マイクラで『ボタンを押すとワープする』プログラミングをしてみよう
目次
関連記事
ワープするプログラムを作る
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
やっほー 春日部つむぎだよ
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
なのなのだ ずんだもんなのだ
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
今日は天気がよかったから探検していたのだけど、その時にいい採掘場を見つけたのだ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_01.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
またあそこまで行きたいのだけど、大変なのだ…。 つむぎおねーちゃん、何かいいアイデアはないのだ?
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
それなら、プログラミングでワープできるようにしちゃえばいいんだよ!
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
ワープは確かに楽なのだ! 早速プログラミングするのだ!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
使うのは『マインクラフト』と『メイクコード』の2つだよ! みんなも準備しておこう!
- 『MineCraft(マインクラフト)』はMicrosoftが提供しているサンドボックスゲームです。プレイヤーはブロックを積み上げて建物を作り上げたり、広い世界を冒険してモンスターと戦うことができます。メイクコードを使ってプログラミングをするためには統合版が必要です。
- 『MakeCode(メイクコード)』はMicrosoftが提供するオープンソースのプログラミング学習プラットフォームです。ブロックを使ったビジュアルコーディングとJavaScriptによるテキストコーディングの2種類のエディタを切り替えながら、プログラミングできます。
ワープの条件と移動先を決めよう
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
今回は「家から採掘場へ簡単にワープする装置」が欲しいのだ。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
だったら、「ボタンを押したら採掘場にワープする」プログラムを作ろうか。 まずは装置を作るから、「ボタン、吸着ピストン、好きなブロック」を一つずつ準備してくれる?
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
準備万端なのだ。 僕は好きなブロックを《ダイヤモンド》ブロックにして作っていくのだ。
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
まずはボタンの位置なのだ。 今回は入り口に入って右手奥の壁に作るのだ。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_02.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
ボタンが置けたら、その裏側に《吸着ピストン》と《ダイヤモンド》を置くよ。 今回は下向きに置くんだけど、《ダイヤモンド》の下は穴をあけておいてね。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_03.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_04.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
そうすると、ボタンを押せばピストンが動くようになるんだ。 ただし、《ダイヤモンド》の下に他のブロックがあると動かなくなるから注意してね!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_05.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
これで装置は完成したから、このまま必要な座標を確認しておこう。 確認するのはピストンを動かしたときに《ダイヤモンド》が来る場所の座標だよ。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_06.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_07.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
今回は[2280,63,-21]なのだ。 あとは外見をきれいに作り直して完成なのだ。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_08.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
作り直したときに、ボタンを押すとピストンが動くか確認しておこう!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_09.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
次は、採掘場の座標を確認するのだ。 ちょっと行ってくるのだ!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
気を付けてね~
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
………ただいまなのだ…。 目印もつけて座標も見てきたのだ。 疲れたのだ…。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_10.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
おつかれさま! 座標は[2212,-29,-144]だね!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
ここまでできたら準備完了! それじゃあ『メイクコード』に切り替えてプログラミングしていくよ!
プログラミングをはじめよう
使うコードを準備しよう
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
“ まずは必要なコードを画面に出していこう。今回は【チャットコマンド”jump”を入力した時】【チャットコマンド”jump”を実行する】【現在の位置から[~0,~0,~0]にテレポートする】【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】【ワールド[0,0,0]】【ずっと】【一時停止(ミリ秒)100】【もし〈真〉なら】の合計8つのコードを使うよ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_11.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/03/005_03.png)
コードは画面左にある項目のように分かれています。今回必要となるブロックと対応する項目は以下の通りです。
- プレイヤー ⇨ 【チャットコマンド”jump”を入力した時】【チャットコマンド”jump”を実行する】【現在の位置から[~0,~0,~0]にテレポートする】
- ブロック ⇨ 【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】
- ポジション ⇨ 【ワールド[0,0,0]】
- ループ ⇨ 【ずっと】【一時停止(ミリ秒)100】
- 論理 ⇨ 【もし〈真〉なら】
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
実は種類はこれで全部だけど、数が足りてないからコードを複製しよう。 【ワールド[0,0,0]】を右クリックして複製してみてね。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_12.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_13.png)
普通の座標指定では「自分が今いる位置が基準」になり、ワールド座標指定では「そのワールドの座標が基準」になるという違いがあります。
また、数字と方角の関係は「東(x座標が+)、西(x座標が-)、南(z座標が+)、北(z座標が-)」となっています。また、「y座標が+なら上、-なら下」です。
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
これで全部準備できたのだ! 次はコードを組み合わせていくのだ!
コードを組み合わせよう
メイクコードでは以下のようにブロックを組み合わせてプログラミングしていきます。
- 凹凸のついたブロックは組み合わせられます
- 入力・選択部分が丸い形やをしているものは同じ形のコードをはめ込めます
凹凸の付いたブロックを組み合わて作る大まかな動きと入力・選択欄を変更して詳細な動きを設定していくのが、プログラミングの基本となります。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
それじゃあコードを組み合わせていこう。 今回は2つのプログラムが必要になるから、1つずつ順番に進めていくね。
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
作り方によっては、プログラム全部がつながっていなくても大丈夫なのだね!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
そうなんだよー。 それじゃあ1つ目のプログラムを作っていくね。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
まずは【現在の位置から[~0,~0,~0]にテレポートする】と【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】の座標の部分に【ワールド[0,0,0]】をはめ込もう
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_14.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_15.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_16.png)
【《ブロック》が座標[x,y,z]の地点に存在するか、確認する】のコードは、指定したブロックが座標の場所にあるかどうかを判別するコードです。 単体では使えず他のコードと組み合わせて使用します。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
次に【もし〈真〉なら】の〈真〉の部分に【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】をはめ込もう
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_17.png)
【もし〈真〉なら】のコードは、条件の真偽(条件があっているかどうか)を判定し組み合わさっているコードを動作させます。
また、〈真〉は条件があっている場合(~の時)を示し、〈偽〉は条件が間違っている(~ではない時)場合を示します。
例:「〈りんごを持っている〉が真の場合に動作する」→ りんごを持っている時にコードが動作する / 「〈りんごを持っている〉が偽の場合に動作する」→ りんごを持っていない時にコードが動作する
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
それができたら、【もし〈真〉なら】の中に【一時停止(ミリ秒)100】と【チャットコマンド”jump”を実行する】を組み合わせてね。 順番は【一時停止(ミリ秒)100】が先に来るように気を付けてね。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_18.png)
【一時停止(ミリ秒)100】のコードは、指定した時間だけプログラムを一時停止するコードです。
時間はミリ秒であらわされているので、「1000 = 1秒」になります。
【チャットコマンド”jump”を実行する】のコードは、指定したコマンドを自動で起動するコードです。
【チャットコマンド”jump”を入力した時】とセットで使います。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
あとは、今できたプログラムを【ずっと】で囲めば1つ目のプログラムは完成だよ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_19.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
1つ目のプログラムができたのだ! あとは残っているで【チャットコマンド”jump”を入力した時】【現在の位置から[~0,~0,~0]にテレポートする】コードを組み合わせて2つ目のプログラムを作るのだ。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_20.png)
【チャットコマンド”jump”を入力した時】のコードは、指定したコマンドをチャットに入力するとその中身を動かすコードです。
【現在の位置から[~0,~0,~0]にテレポートする】のコードは、指定した座標にワープするコードです。
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
これでプログラムは全部完成したのだ! あとは条件を設定していくだけなのだ!
発動条件と座標を指定しよう
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
プログラムが2つあるから【ずっと】のプログラムの中身から変更していこうか。 まずは【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】のブロック部分を《ダイヤモンド》に変更しよう
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
ブロックアイコンをクリックするとブロックを変更できるのだ
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_21.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
次に座標の設定なのだ。 まずは【《ブロック》が座標[~0,~0,~0]の地点に存在するか、確認する】の座標部分に[2280,63,-21]を入力するのだ。
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_22.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
最後に【一時停止(ミリ秒)100】の数値を「1000」に変更しておこう。 ここの数字は「1000ミリ秒 = 1秒」を基準にすると覚えやすいよ!
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
5秒にするには「1000 × 5 = 5000」って感じなのだ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_23.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
これで【ずっと】のプログラムの設定は終わり! あとは【現在の位置から[~0,~0,~0]にテレポートする】の座標に採掘場の座標[2212,-29-144]を入れればプログラミング終了だよ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_24.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
間違えても大丈夫だから落ち着いてやってね。入力ができたら右下のスタートボタンを押そう。ボタンの色が緑色から赤色になったら準備完了だよ
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
動かす前にはプログラムが合っているか確認しておくのだ!
動かしてみよう!
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
『マイクラ』に戻ってプログラムを動かすのだ。 ボタンを押してみるのだ!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
採掘場の目印の場所にワープすれば成功だよ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_25.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
ちゃんとワープしたのだ! …ってあれ、もしかしてこれ、来るのはワープで簡単だけど帰るのは大変なのだ…?
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
…そうだね。
家にワープするプログラムを作ろう!
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
………流石に3往復は疲れるのだ…。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
あれは確かにしんどいね…。 もうこんなことがないように家に帰るプログラムも作っておかないとね…。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
それじゃあ、今回は「採掘場にワープしてから5秒後に家に戻ってくる」ようにしてみようか。
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
それならさっき作ったプログラムに少し付け足すだけで完成しそうだから、疲れててもできそうなのだ!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
まずは【現在の位置から[~0,~0,~0]にテレポートする】を複製してから、【一時停止(ミリ秒)100】のコードを持ってきてね
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_26.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_27.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_28.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
これを【チャットコマンド”jump”を入力した時】の中の【現在の位置から[~0,~0,~0]にテレポートする】の下につけるのだ。
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
「採掘場にワープしてから5秒後に家に戻ってくる」ようにするから、【一時停止(ミリ秒)100】を先に組み合わせないといけないところに注意だよ!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_29.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
あとは時間と座標を設定すれば終わりなのだ。 まず時間を5秒にするから、【一時停止(ミリ秒)100】の数値を「5000」にするのだ
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_30.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
最後に座標なのだ。 今回はボタンのところに戻ってこようと思うから、【現在の位置から[~0,~0,~0]にテレポートする】の座標に[2282,64,-21]を入力するのだ
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_31.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_32.png)
![](https://programming-school-advance.com/wp-content/uploads/2022/02/c4fa788dc4c6056b019dfae87b1ff75a.png)
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
これで完成だね! あとはプログラムを動かして家に帰ってこれればいいけど…
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_33.png)
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
無事に帰ってこれたのだ!
さいごに
![ずんだもんキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/zundamon_blog.png)
ボタンを押すだけで好きな場所に行けるようになったから、いい場所をいっぱい見つけてくるのだ!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
みんなもワープで帰ってくる時間を長くしたり、ボタンを増やしていろいろな場所にワープできるようにしてみよう!
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
最後に練習問題を用意してみたから、よかったら挑戦してみてね!
プログラムを変更してみよう!
問題1
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
採掘場から帰ってくるまでの時間を1分以上にしてみよう!
1秒にするには「1000」と設定しよう!
問題2
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
ボタン裏のピストン装置の向きを、向かって右側(ボタン側から見て左側)に変更してみよう!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_34.png)
《ダイヤモンド》の座標に注意しよう!
問題3
![春日部つむぎキャラアイコン](https://programming-school-advance.com/wp-content/uploads/2022/01/tsumugi_blog.png)
【チャットコマンド”jump”を入力した時】を新しく用意して、「”家”(または”Gohome”)と入力すると家に帰られる」ようにしてみよう!
![](https://programming-school-advance.com/wp-content/uploads/2022/04/009_35.png)