ウェブサイト検索

Microsoft MakeCode for Minecraft: 楽しみながら無料で JavaScript を学びましょう


Minecraft が大好きで、コーディングを学びたいですか? Microsoft MakeCode for Minecraft を使用して JavaScript を楽しく学習できる方法を紹介します。

JavaScript (JS、ECMAScript、ES) は、世界中で何千もの高収入の仕事を提供している多用途のプログラミング言語です。ですから、Minecraft をプレイすることで学習できるというのは驚くかもしれません。

Microsoft MakeCode for Minecraft は、ブロックの世界で目の前でコードに命を吹き込む、楽しい無料のプロジェクトでソフトウェア開発の世界を誰にでも提供することを目指しています。

Microsoft MakeCode とは何ですか?

Microsoft MakeCode は、コンピューター サイエンスの教育を面白く、アクセスしやすいものにすることに特化した学習プラットフォームです。これは無料のオープンソースであり、学習、構築、遊びのためのさまざまな方法を備えています。

以前に Minecraft をプレイしたことがある場合は、このオプションに目を引くかもしれません。このセクションでは Python と JavaScript を学習することも、コードを気にせずにブロック エディターを使用してプログラミング ロジックに取り組むこともできます。この記事では JS を使用します。

この記事では、最初のプロジェクトである Chicken Rain を詳しく説明するとともに、いくつかのカスタム スクリプトを紹介することで、MakeCode for Minecraft の機能を紹介します。最初のスクリプトでは一般的な設定 (天気や時間など) を切り替えることができ、2 番目のスクリプトではカスタム ミニゲームを作成してプレイします。

注: MakeCode for Minecraft の全機能を利用するには、Minecraft Bedrock Edition (Minecraft for Windows 10) または Minecraft Education Edition アカウントが必要です。

セットアップ: コード接続と新しい世界

コードを Minecraft クライアントと同期するには、Microsoft Code Connection をダウンロードしてインストールします。

Minecraft のエディションを選択し、「Minecraft for Windows 10 MakeCode のセットアップ」ページに記載されている手順に従って、Code Connection をインストールして実行します。

Code Connection を実行した状態で、Minecraft を起動し、チートを有効にして新しいワールドを作成します ([プレイ] > [ワールド] > [新規作成] > [新しいワールドの作成] > [ 作成])。 MakeCode のすべての機能にアクセスするには、チートの有効化をオンにする必要があります。

新しい世界を開始し、Code Connection によって表示されるコマンドをチャットに入力して、テキスト エディターとゲーム クライアントを同期します。

Code Connection がセットアップされ、新しい世界があなたを待っています。すぐにコーディングを開始する準備が整いました。

Minecraft MakeCode: チキン レイン

最初に利用可能なプロジェクトはチキンレインです。この 5 ステップのチュートリアルは、MakeCode UI(テキスト エディタ、メニュー、再生ボタン、役立つドキュメントなど)に慣れるのに役立ちます。

また、コンピューター サイエンスの 2 つの重要な構成要素である「変数」と「関数」についても基本的に見ていきます。スクリプトの作成が完了すると、独自の大量の浮遊鶏が作成されることになります。

本格的な MOD を作成することを目標にしている場合、これは大したことではないように聞こえるかもしれませんが、コードに命が吹き込まれるのを見るのは、多くのエンジニアが一生夢中になる信じられないほどの感覚です。これがあなたの第一歩です!

コードをテキスト エディタにコピーする前に、プロンプトを確認してください。これは、コンピューター科学者としてどのように考えるべきかを示す良い例です。

注: プログラマーの専門用語がわからない場合は、これは JavaScript のチートシートです。

  1. まず、mobs.spawn() を使用してオブジェクトの関数を呼び出します。これは、コンピュータに何をさせたいかを指定する方法です。 Minecraft に Mob をスポーンさせたいと考えています。
  2. すごいけど、どんな暴徒なの?ここでは、変数チキンを指定して、どのMobをスポーンさせたいかをコンピュータに指示します。
  3. mobs.spawn() は、Mob のタイプと位置という 2 つのパラメータを受け取ります。 Mob をどこにスポーンさせたいかをコンピュータに指示する必要があります。これはpos(0, 10, 0) で行います。 (0, 10, 0) は Minecraft キャラクターに関する XYZ 座標です。
mobs.spawn(CHICKEN, pos(0, 10, 0))

再生ボタンをクリックしてコードを実行します。 Minecraft に戻って上を向いてみましょう。すべてが順調に行けば、羽の生えた友達が誕生したことになります。

もっとニワトリが欲しい場合はどうすればよいでしょうか (そして正直に言って、そうしない人はいないでしょうか?) このコードを数回コピーして貼り付けて、もう一度実行ボタンを押すだけでよいでしょうか?確かに、そうすることはできますが、そうすべきではありません。コーディングの早い段階で学ぶべき良い言葉は、「DRY」 (同じことを繰り返さない) です。これにより、より効率的な開発者になれます。

同じコードを複数回実行するには、ループを使用します。

「for」ループは、その中に入れたコードを指定した回数(この場合は 100 回)繰り返し実行します。

  1. for() {} から始めます。中括弧は、このループのスコープを定義するために使用されます。中括弧内のコードはすべて複数回実行されます。
  2. このコードを何回実行するかをコンピューターに指示する必要があります。括弧内で、let を使用して変数を作成し、その変数を 0 に設定します。次に、i<100 を含めることで、このループを実行する回数を指定します。最後に、各反復の終了時に何が起こるかを指定します。変数の値は 1 つ増加します (i++)。
  3. 前のステップのコードを中括弧内に貼り付けます。指示どおりにインデントしてください。
for (let i=0; i<100; i++) {    mobs.spawn(CHICKEN, pos(0, 10, 0))}

再生ボタンをクリックして、Minecraft に戻ります。チキンレイン!

MakeCode for Minecraft: JavaScript をもっと楽しく

JavaScript の最初の行を理解したら、Mega Jump や Save the Cake などの他の MakeCode チュートリアルにアクセスしたり、空のドキュメントを作成して創造性を発揮したりできます。

JS スキルに取り組むためのカスタム スクリプトをいくつか見てみましょう。

時間とその他の設定の制御

遅くまで寝て、農場の手入れを忘れていませんか?時計を戻したいですか?そして、なぜいつも雨が降るのでしょうか?心配しないでください。プログラミングが役に立ちます。

player.onItemInteracted(CLOCK, function() {    if(gameplay.isDaylightTime(DAY)){        gameplay.timeSet(DayTime.Night)    } else {        gameplay.timeSet(DayTime.Day)    }})

このコード ブロックでは、コンピューター サイエンスのロジックの定番であるif else ステートメントが導入されています。

  1. 特定のアイテムを操作したときに実行される「プレーヤー」オブジェクトの関数、player.onItemInteracted() を呼び出します。使用する項目(この場合は CLOCK)を指定し、項目 function() {} を操作するときに実行される関数を設定します。
  2. オン/オフ スイッチとして機能する if else ステートメント if() {} else {} を含めます。パラメータ if(gameplay.isDayLightTime(Day)) を入力して、Minecraft の時刻を確認します。
  3. 実行するコードを if 中括弧 {gameplay.timeSet(DayTime.Night)} の中に含めます。ここまでのコードでは、 現在が日中かどうかを確認し、 日中であれば夜に設定しています。
  4. else セクション {gameplay.timeSet(Daytime.Day)} にコードを記述します。 if ステートメントが満たされていない場合 (現在ゲーム内は夜間です)、else コードが実行されます。

[再生] ボタンをクリックし、Minecraft に切り替えてチャットに「/gamemode 1」と入力します。インベントリを開いて時計にスポーンします。時計を手に数回右クリックします。コードが正しく記述されていれば、世界が太陽と月の間で切り替わります。

このロジックの可能性は無限です。左側のメニューを使用して、あらゆる種類のコマンドや変数を表示して操作できます。手を汚さないでください。何が機能し、何が機能しないのか (そして、機能するはずなのに機能しないもの) を見つけ出すことです。これが、コンピューター サイエンスの世界を探索することの意味です。

MakeCode for Minecraft ミニゲーム: バット ハンター

player.onChat("batHunt", function () {    gameplay.setGameMode(    SURVIVAL,    mobs.target(LOCAL_PLAYER)    )    gameplay.setDifficulty(NORMAL)    mobs.give(    mobs.target(NEAREST_PLAYER),    BOW,    1    )    mobs.give(    mobs.target(NEAREST_PLAYER),    ARROW,    64    )    for (let i=0; i<32; i++) {        mobs.spawn(BAT, randpos(        pos(-5, 0, -8),        pos(5, 0, 5)        ))    }})
let points = 0
let addPoints = function () {    points += 1    player.say(`2 Points! Total: ${points}`)}let clearPoints = function () {    points = 0    player.say("Points Cleared.")}
mobs.onMobKilled(BAT, addPoints)player.onChat("clearPoints", clearPoints)

これは、以前のプロジェクトからかなり飛躍しているように見えるかもしれませんが、心配しないでください。あなたはこのミニゲームに組み込まれているロジックのほとんどをすでに知っています。あなたがしなければならないのは、心を開いて空白を埋めることだけです。

  1. セットアップとしてplayer.onChat() 関数を呼び出しています。これにより、ゲームモードがサバイバルに設定され、ゲームの難易度がノーマルに設定され、弓と 64 本の矢が提供されます。
  2. 次に、32 個のコウモリをスポーンするmobs.spawn() 関数呼び出しを含むfor ループを設定します。 randpos() を使用して、コウモリがスポーンできる場所の範囲を指定します。これにより、コウモリは予測不能に群がってきます。
  3. 次に、ポイント追跡アルゴリズムを設定します。 ポイント変数を0の値で初期化します。次に、バットのテイクダウンごとに 2 ポイントを追跡する関数を作成します。テンプレート リテラルを使用して、文字列テキスト (「2 ポイント!」合計: ) と変数の値 ($ {ポイント}) を結合します。
  4. ステップ 3 と同様の関数を作成して、合計ポイントをクリアします。
  5. 次に、これらの関数を実行するインスタンスを作成します。コウモリが殺されたときにaddPoints を実行したいので、mobs.onMobKilled(BAT, addPoints) を使用します。チャットで「clearPoints」と入力すると、clearPoints が実行されるようにします。

[プレイ] をクリックして、できるだけ多くのポイントを獲得してください。外で遊ぶとコウモリが遠くまで飛んでいきやすいので、広い部屋の中で遊ぶことをお勧めします(コウモリが後ろに来るように障害物を投げ込むとよいでしょう)。

このチュートリアルの他のスクリプトや、コンピューター サイエンスの過程で出会う他のすべてのコードと同様、このコードは、独自のセンスを追加するための単なるベースです。タイマーを実装して緊急性の要素を追加したり、スコアボードを実装して以前の試合を追跡したりできます。あなたが構築するものは、あなた自身の創造性によってのみ制限されます。

Minecraft エージェント用の MakeCode

エージェントは、シングル プレイヤー ゲームでマルチプレイヤー インタラクションをテストしたり、タスクを自動化したりできる気の利いた NPC です。

MakeCode は、エージェント チェッカー向けのガイド付きチュートリアルを提供し、エージェントと一緒に迷路をナビゲートします。また、必要に応じて変更できるエージェント関連のソース コードも大量にあります。

JavaScript をさらに詳しく見てみる

MakeCode for Minecraft があなたのコーディングへの興味を刺激してくれることを願っています。私たちは、新世代のプログラマーを生み出すというその使命を支持します。

いくつかの重要な JavaScript メソッドを実践しましたが、この記事では JavaScript の氷山の一角を調べただけです。 JavaScript を学習して仕事に備えたい場合は、JS が HTML や CSS などの他の Web テクノロジーとどのように相互作用するかを学ぶ必要があります。一般的なデータ構造やアルゴリズムについても勉強しておくとよいでしょう。