マインクラフト×プログラミング MakeCode チュートリアル14

マインクラフト×プログラミング MakeCode チュートリアル14

今回のチュートリアル「Spleef」(スプリーフ)とはマイクラの中でおこなえる、競い合いのゲームです。
足場のブロックを壊して、相手を下に落とし、最後まで生き残った人が勝ちとなります。
そのゲームの舞台を自動で作れるようにプログラミングしましょう。

それでは、いつものようにマインクラフトを起動して、コードコネクションを使ってマインクラフトに接続したら、MakeCodeのエディターを開いてください。

<概要>
チュートリアル「Spleef」では、マイクラの中でおこなえる、落としあいゲームを作っていきます。
落としあいの舞台を自動で作れるようにプログラミングしていきます。

今回の目標

①「決められた大きさ」の落としあいの舞台を作れるようになる。
②「舞台の大きさを自由に変更できる」ように変数(へんすう)の使い方を学習する。

スプリーフをやってみよう!

MakeCodeのエディター画面から、下記画像の赤枠でかこんだ、
「Spleef」をクリックしましょう。
そして前回同様、 「ブロックでチュートリアルを開始」をクリックしてください 。

チュートリアル選択画面

今回も上側の説明文が英語になっています。まだ日本語化していないようなので、私が翻訳します。(間違って翻訳したらごめんなさい。文法とかはあまり気にせずに大体で訳します)

今回は複数人で競い合うゲームを作りますので、同じマイクラの世界に
何人かいるとよりいっそう楽しめると思います。

スプリーフの舞台を作る(地面)

①.まず最初に「チャットコマンド”run”を入力した時」の
”run”部分を”spleef”に変えましょう。
コマンドは自由に設定できますので、”sp”など省略しても構いませんが、自分が何のコマンドか分かるよう、関係ない文字にはしないようにしてください。
では次へ進みます。

左側の「ブロック」ボタンから、「ブロックを並べる」を持ってきて、
「チャットコマンド”spleef”を入力した時」の中に入れましょう。

スプリーフは落としあいをするので、落ちた場合の地面を「溶岩」に変えてしまいましょう。ですので、ブロックを「草ブロック」から「溶岩」に変えます。
草ブロックから溶岩ブロックに変えれたかな?

そしたら、「範囲の始まり」と「範囲の終わり」を変えていきます。
この数字の意味を覚えているかな?

以前も学習しましたが、このブロック設置場所をまた簡単におさらいします。
最初の数字 :プラスだと「東」、マイナスだと「西」
真ん中の数字:プラスだと「上」、マイナスだと「下」
最後の数字 :プラスだと「南」、マイナスだと「北」

ブロック設置場所の説明

それでは以下のように溶岩ブロックの設置場所を指定しましょう。
範囲の始まり:0,-1,0(ゼロ、マイナス1、ゼロ)
範囲の終わり:10,-1,10(プラス10,マイナス1、プラス10)

以下がプログラムの例です。

プログラムの例

スプリーフの舞台を作る(空中)

②.さてそれでは、今度は空の上に設置する舞台を作りましょう。

先ほどと同じ「ブロック」ボタンからもう一つ「ブロックを並べる」を持ってきて、先ほどのプログラムの下に入れます。

空に雪の舞台を作りたいので、「草ブロック」から「雪ブロック」に変えましょう。
草ブロックから雪ブロックに変えよう。

そして雪ブロックの設置場所を以下のように設定しましょう。
範囲の始まり:0,-1,0(ゼロ、マイナス1、ゼロ)
範囲の終わり:10,-1,10(プラス10,マイナス1、プラス10)

ここまでで、以下のようなプログラムができたと思います。

プログラムの例

では一旦ゲームに戻って、舞台が設置できるか試してみましょう。
スタートボタンスタートボタンを押した後、
ゲームに戻って、「spleef」(または「sp」)を実行して、スプリーフの舞台が出来上がることを確認してください。

プログラムの実行例

スプリーフの舞台が出来上がったね!

舞台の大きさを変更できるようにする

③.大きさを自由に変えれるようにするために、今回は「変数」を使っていこうと思います。
以前チュートリアル「Mega Jump」(メガジャンプ)のときにも使ったことがありますが、おさらいをしましょう。
(メガジャンプの時は、ジャンプする高さを変数にして、高さを自由に決めれるようにしましたね。)

「変数」(へんすう)とは、「箱」のようなもので、
その中に様々なもの(数字や文字など)を入れることができます。
さっきは舞台の大きさを10マスにしましたが、今回はこの「箱」を使って
自由に変えれるようにします

「チャットコマンド”Jump”を入力した時」の横にある プラスボタンを押してみましょう。
「num1」というものが出てきたと思います。
これで変数「num1」が出来上がりました。あとは、舞台の大きさを決めていた、範囲の終わりにある「10」の部分4か所をすべて、num1に変えます。

左側の赤い変数ボタンから「num1」を持ってきて、数字「10」に重ねるようにいれましょう。4つ全部変更できたら、以下のようなプログラムになると思います。

プログラムの例

では実際にゲームに戻ってプログラムを実行してみましょう。
今回は「変数」を使っていますので、コマンド「spleef」のあとに、
1つ分スペースを開けて「spleef 25」として実行してみましょう。

プログラムの実行例
さっきより大きい舞台が出来上がったね!

全員を集合させるプログラムを作る

④.あともう少しで完成です。
最初に「全員を集合させて、サバイバルモード」にしたいので、
「生き物」ボタンから「次の対象を~0~0~0にテレポートさせる」を持ってきて、黄緑色の「ブロックを並べる(雪ブロック)」の下に入れましょう。

全員のテレポートする位置を舞台の上にしたいので、以下のように設定します。

テレポートする場所の設定
テレポートされる場所の説明
Aが自分の立っている場所
Bがテレポートされる場所(舞台の大きさの半分の位置)
Cが変数で設定した舞台の大きさ

また、「ゲームプレイ」ボタンから「ゲームモードを〇に適用する」を持ってきて、最後の部分に入れます。

そして両方のブロックの「対象:一番近いプレイヤー(@p)」を
「対象:全てのプレイヤー(@a)」に変更しましょう。

これで全員が舞台の上にテレポートされて、さらにサバイバルモードになります。スプリーフを開始できる準備が出来上がりました!

プログラムの例

さぁ全部のプログラムができたので、スタートボタンスタートボタンを押した後、
ゲームに戻って、「spleef」を実行して、みんなで落としあいをして
楽しみましょう!

プログラムの実行例
誰が最後まで生き残れるかな!?

まとめ

今回は、マイクラの世界で遊ばれているスプリーフというゲームを自動で作れるようにプログラミングしました。

「ブロックを設置する場所の設定」や「変数」といった少し難しい内容も出てきましたが、しっかりとプログラムの意味を理解しておくようにしましょう。


それでは、また次の学習で!