マイクラで『変数を使ってワープする』プログラムを作ってみよう

目次

関連記事

変数と条件を使ったワーププログラムを作る

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

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

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

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

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

変数を使って建築までばっちりできるようになったのだ。 これからは変数マスターを名乗るのだ

ポイント!

変数とは、「数字や文字などのデータ保存しておける入れ物のこと」です。

保存しているデータは、設定するときに作動させたプログラム以外でも使用できます。


1つの変数に保存できるデータは1つで既に保存されている場合は上書きされますが、変数はいくつも作ることができるので必要な数だけ作りましょう。

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

ふふふ…! ずんだもん、それはまだまだ変数の序の口だよ…!

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

変数はすごく便利で、他にも色々なことができるんだよ!

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

な、なんだってー!

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

それじゃあ今回は「変数を使ったワーププログラム」を2種類作ってみよう!

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

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

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

ワープ1の準備をしよう

ワープ1の動きを確認しよう

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

まずはワープ1をどう動かすかを確認するね

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

これはプログラムを動作させるたびにワープする場所を切り替えるようになっているよ

ワープ先を2箇所作ろう

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

動きが確認出来たらワープ先の目印を作ろう

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

今回はこんな感じで《ガラス》ブロックを置いた中心とその外側にワープするようにしようか

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

中心の座標を確認しておくのだ。 今回は[99,-60,-27]なのだ

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

もう一箇所は目印の外側ならどこでもいいから、[99,-60,-14]にしておくのだ。 目印は《樺の木材》にしておくのだ

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

コードを準備しよう

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

まずはコードを準備しようか。 今回使うのは【チャットコマンド”run”を入力したとき】【現在の位置から[0,0,0]にテレポートする】【ワールド[0,0,0]】【もし真なら~、でなければ~】【0=0】【変数を0にする】と変数【スイッチ1】だよ

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

変数の追加は、項目の一番上にある「変数の追加」を押すとできるからね!

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

  • プレイヤー ⇨ 【チャットコマンド”run”を入力したとき】【現在の位置から[0,0,0]にテレポートする】
  • ポジション ⇨ 【ワールド[0,0,0]】
  • 論理 ⇨ 【もし真なら~、でなければ~】【0=0】
  • 変数 ⇨ 【スイッチ1】【変数を0にする】
ずんだもんキャラアイコン
ずんだもん

準備ができたからプログラミングを始めるのだ

プログラミングをしよう

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

まずは動きの条件を作っていくよ。 今回はプログラムを動かすたびにワープ先を切り替えるんだよね

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

これは、変数でスイッチのような仕組みを作って切り替えていくんだ

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

電源のオンオフみたいなものなのだ?

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

そんな感じだね。 プログラム上ではスイッチのオンオフを数字で決めるんだ

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

今回なら、変数の中身を「0」と「1」の2つで切り替えて条件を分けるよ

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

ってことは、用意した【変数を0にする】を複製して片方は「1にする」ようにすればいいのだね

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

そうだね。 この2つのコードをワープするたびに交互に動かしてスイッチを切り替えていくね

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

条件と動きをまとめるとこんな感じだね

  • スイッチ1の中身が0 → 《ガラス》の目印[99,-60,-27]に移動
  • スイッチ1の中身が1 → 《樺の木材》の目印[99,-60,-14]に移動
ずんだもんキャラアイコン
ずんだもん

なるほどなのだ、その条件分けのために【もし真なら~、でなければ~】のコードを使うのだね

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

その通り。 その「真」の部分に「スイッチ1の中身が0の時」っていう条件を書けばいいんだよね

ポイント!

【もし真なら~、でなければ~】コードは、条件を設定することで動作させるプログラムを分けるものです。


「真」の部分に条件を設定するコードを組み合わせることで条件分けができます。

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

そして、「スイッチ1の中身が0の時」っていう条件を作るために【0=0】を使うよ

ポイント!

【0=0】のコードは、左右の値が同じものかを判別するものです。


プログラミングでの「=」記号は「同じ」を表します

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

ちなみに、変数の中身を変更しなかったりプログラムを停止させると変数の中身は「0」になっているんだ

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

それなら、【0=0】の片方に変数を組み合わせるだけで使えそうだね

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

「変数=0」の時に動かしたらスイッチを切り替えるから「変数=1」にするようにプログラミングするのだ

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

逆に「変数=1」の時に動かしたら「変数=0」にするのだ

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

これでスイッチの切り替えはできたかな。 あとは【チャットコマンド”run”を入力した時】と組み合わせて動くようにしてみよう

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

今回は「ワープ1」をチャットに送信してプログラムを動かすように作っておくのだ。 ついでに【メッセージ”:)”を送信する】を使って確認できるようにするのだ

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

あとは『マイクラ』のチャットで「ワープ1」と2回送信してみるのだ

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

ちゃんと切り替わっているのだ。 あとはそれぞれのスイッチの時にワープできるように組み合わせるだけなのだ

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

「変数=0」の時は[99,-60,-27]に、「変数=1」の時は[99,-60,-14]にワープするんだったね

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

【現在の位置から[0,0,0]にテレポートする】に【ワールド[0,0,0]】を組み合わせて複製した後、座標を入力しよう

【ワールド[0,0,0]】コードは、座標の指定をワールド座標基準にするものです。
ワールド座標に指定しない場合は自分の位置が基準になるので注意しましょう。

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

ここまでできたら、さっきのスイッチプログラムと組み合わせてっと…

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

これで完成なのだ!

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

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

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

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

動かしてみよう!

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

目印の上で『マイクラ』のチャットで「ワープ1」を送信するのだ

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

《ガラス》の目印と《樺の木材》の目印に交互にワープすれば成功だよ!

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

大丈夫だったのだ!

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

これでワープ1は完成だね。 次はワープ2を作っていこう!

ワープ2の準備をしよう

ワープ2の動きを確認しよう

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

まずはワープ2をどう動かすかを確認するね

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

これはプログラムを動作させた時に足元にあるブロックと対応するステンドグラスの上にワープするようになっているよ

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

なるほどなのだ。 まとめるとこんな感じなのだ

  • 足元がダイヤモンドブロック ⇨ 青のステンドグラス
  • エメラルドブロック ⇨ 緑のステンドグラス
  • レッドストーンブロック ⇨ 赤のステンドグラス
  • 上記以外のブロック ⇨ ワープせず「ワープする場所がわかりません」と表示

ワープに使うブロックを置こう

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

動きが確認出来たらワープ先の目印を作ろう。 今回はこんな感じにワープするね

  • ダイヤモンドブロック ⇨ 青のステンドグラス
  • エメラルドブロック ⇨ 緑のステンドグラス
  • レッドストーンブロック ⇨ 赤のステンドグラス
ずんだもんキャラアイコン
ずんだもん

そしたら、ステンドグラスの座標3点分をメモしておくのだ

  • 青のステンドグラス ⇨ [141,-59,-12]
  • 緑のステンドグラス ⇨ [141,-59,-8]
  • 赤のステンドグラス ⇨ [141,-59,-4]

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

コードを準備しよう

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

今回は「ワープ用のプログラム」と「スイッチ切り替え用のプログラム」の2種類を作るね

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

まずはワープ用のコードだけど、さっき作ったワーププログラムを複製して使おうか

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

複製したプログラムの変更点は「変数【スイッチ2】を作って使用」と「【変数を0にする】コードを外す」と「テレポート先を増す」の3つだよ

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

わかったのだ。 ところで、複製はできたけどどうやって条件を増やすのだ?

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

条件を増やすときは、【もし真なら~、でなければ~】の左下についている「+」のボタンからできるよ!

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

できたのだ! あとはテレポート先を3つとテレポートしないときを設定して…

  • 青のステンドグラス ⇨ [141,-59,-12]
  • 緑のステンドグラス ⇨ [141,-59,-8]
  • 赤のステンドグラス ⇨ [141,-59,-4]
  • 上記以外のブロック ⇨ ワープせず「ワープする場所がわかりません」と表示
春日部つむぎキャラアイコン
春日部つむぎ

ワープ用のプログラムは完成だね!

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

次はスイッチ切り替え用の方だね。 こっちは【ブロックが[0,0,0]の地点に存在するか、確認する】【ずっと】【もしなら~、でなければ~】【変数を0にする】を使うよ

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

  • ブロック ⇨ 【ブロックが[0,0,0]の地点に存在するか、確認する】
  • ループ ⇨ 【ずっと】
  • 論理 ⇨ 【もしなら~、でなければ~】
  • 変数 ⇨ 【変数を0にする】
ずんだもんキャラアイコン
ずんだもん

準備ができたからプログラミングを始めるのだ

プログラミングをしよう

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

まずは足元にあるブロックの種類を判別できるようにしていこう

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

【ブロックが[0,0,0]の地点に存在するか、確認する】のブロックを変更するのと座標の入力だね

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

ブロックの変更はアイコンを押せばできるのだ。 とりあえず《ダイヤモンド》にしておくのだ

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

足元を指定するのは、【ワールド[0,0,0]】コードを使わずにy座標を「ー1」するだけで大丈夫だよ

ポイント!

y座標は上が「+(プラス)」の方向で下が「ー(マイナス)」の方向になります

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

これで「足元に《ダイヤモンド》があるか確認する」コードができたね

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

あとはさっき設定したテレポート先とスイッチの中身に合わせて条件を作っていくのだ

  • ダイヤモンドブロック ⇨ スイッチ2の中身を「1」に
  • エメラルドブロック ⇨ スイッチ2の中身を「2」に
  • レッドストーンブロック ⇨ スイッチ2の中身を「3」に
  • 上記以外のブロック ⇨ スイッチ2の中身を「0」に
ずんだもんキャラアイコン
ずんだもん

…って、「0」を入れるときの条件が多すぎて設定するのが難しいのだ…

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

そういうときは範囲が狭いものを「もしなら~」で設定して、範囲の広いものは「でなければ~」で作ればいいんだよ

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

今回で言えばスイッチ2の中身が「1~3」の時は足元のブロックが1種類に限定されているから、これを基準に切り替えていくって感じだね!

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

なるほどなのだ。 とりあえずその3種類以外の時は全部「0」にしちゃえばいいのだね!

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

ということは、【ブロックが[0,0,0]の地点に存在するか、確認する】と【変数を0にする】を複製して…

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

こうだね!

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

これで完成なのだ!

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

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

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

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

動かしてみよう!

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

目印の上で『マイクラ』のチャットで「ワープ2」を送信するのだ

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

足場のブロックに対応した場所へワープすればOKだよ!

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

無事にワープできたのだ! 特定のブロック以外だとチャットも送信されるのだ!

さいごに

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

今回は「変数を使ったスイッチでワープ」プログラムが作れたね

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

ワープ先の追加も「条件とスイッチ」を増やせばいいだけだから楽だったのだ!

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

スイッチはワープ以外でも使えるし、色々作ってみてね!

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

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

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

問題1

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

ワープ1をコピーして「スイッチ」を1つ増やしてみよう!

問題2

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

問題1で追加したスイッチを使ってワープ先を追加しよう!

問題3

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

ワープ2に「条件とワープ先」を追加しよう!