【マイクラ×MakeCode】エージェントで建築してみよう!(チュートリアル:Agent Build)

この記事では、MakeCode for Minecraftのチュートリアル「Agent Build」について解説かいせつします。

Agent Moves」の次にチャレンジしてみましょう。

「Agent Build」では、エージェントを使って四角形にブロックをくプログラムを作ります。

プログラミングの基本きほん順次じゅんじ」「くり返し」「条件じょうけん分岐ぶんきを学ぶことができますよ。

初心者しょしんしゃさんにも分かるように、手順てじゅんをひとつひとつていねいに解説かいせつしていきます。

スポンサーリンク

エージェントを自分の位置にもどす

チュートリアル「Agent Moves」のおさらいです。

エージェントを自分の位置いちにテレポートさせるプログラムをつくります。

  1. 「チャットコマンドを入力した時」ブロックの”run”をクリックし、”tp”と入力する。
  2. エージェントカテゴリーにある「エージェントを自分の位置いちにもどす」ブロックを出す。
  3. 「チャットコマンドを入力した時」ブロックの中に「エージェントを自分の位置いちにもどす」ブロックを配置はいちする。

エージェントを自分の位置にもどす

 

プログラムができたら、実行してみましょう。

  1. 「開始」ボタンをおしてから、マイクラの画面にもどる。
  2. 「T」キーをおして、チャット画面を開く。
  3. tp と入力し、「Enter」キーをおして実行する。

エージェントが自分の位置いち移動いどうしましたか?

 

エージェントの設定を追加する(動きながら置く)

エージェントに、動くたびにブロックを機能きのう追加ついかします。

1.プレイヤーカテゴリーにある「チャットコマンドを入力した時」ブロックを出す。

「チャットコマンドを入力した時」ブロック

2.チャットコマンドの”jump”をクリックし、”pd”と入力する。

 

3.エージェントカテゴリーにある「エージェントの設定せってい追加ついかブロックを出す。

「エージェントの設定を追加」ブロック

「エージェントの設定せってい追加ついかブロック
エージェントに機能きのう追加ついかするブロックです。「動きながらく」は、エージェントが動くたびにインベントリにあるブロックを機能きのうです。
真偽しんぎの部分で、機能きのう有効ゆうこうしん)または無効むこう)にします。

 

4.「動きながらく」機能きのう有効ゆうこうにしたいので、「」を「しん」にえます。

5.「チャットコマンドを入力した時」ブロックの中に、「エージェントの設定せってい追加ついかブロックを配置はいちする。

「エージェントの設定を追加」ブロックを配置

真偽しんぎについては「論理ろんり演算えんざん(かつ・または・ではない)とは?スクラッチ(Scratch)を使って解説かいせつ」でくわしく解説かいせつしています。真(しん)と偽(ぎ)について、くわしく知りたい場合は参考さんこうにしてみてください。

 

エージェントのインベントリにアイテムを設定する

エージェントはプレイヤーと同じようにインベントリがあり、アイテムを持つことができます。

インベントリとは、持っているアイテムを管理かんりする画面のことで、アイテムが入る1つ1つのマスをスロットといいます。

エージェントを右クリックすると、エージェントのインベントリを見ることができます。

エージェントのインベントリ

 

エージェントのスロットは、1~27までの番号がふられています。

エージェントのスロット番号

左上のスロット番号が1で、そこから右向きに数えていきます。上の段は1~9、 真ん中の段は10~18、下の段は19~27です。

 

では、エージェントのインベントリにアイテムを設定せっていするチャットコマンドを作りましょう。

  1. プレイヤーカテゴリーにある「チャットコマンドを入力した時」ブロックを出す。
  2. チャットコマンドの”jump”をクリックし、”rl”と入力する。
  3. エージェントカテゴリーにある「エージェントにアイテムを自分のスロットに設定せっていさせる」ブロックを出し、「チャットコマンドを入力した時」ブロックの中に配置はいちする。
  4. 「エージェントにアイテムを自分のスロットに設定せっていさせる」ブロックの「砂岩さがんブロック」を必要ひつような数(1~64)、スロット「1」番に設定せっていする。
  5. エージェントカテゴリーにある「エージェントのスロット番号1を有効ゆうこうにする」ブロックを出し、「エージェントにアイテムを自分のスロットに設定せっていさせる」ブロックの下に配置はいちする。

「エージェントにアイテムを自分のスロットに設定させる」「エージェントのスロット番号1を有効にする」ブロック

  • 「エージェントにアイテムを自分のスロットに設定せっていさせる」ブロック
    エージェントのインベントリスロットにブロックまたはアイテムを設定せっていします。
    設定せっていするブロックまたはアイテムとその個数こすう、インベントリの何番のスロットに設定せっていするかを指定します。
  • 「エージェントのスロット番号1を有効ゆうこうにする」ブロック
    指定したインベントリスロットを有効ゆうこうにするブロックです。

 

スロット番号1に設定せっていした砂岩さがんきたいので、スロット番号1を有効ゆうこうにします。

「エージェントにアイテムを自分のスロットに設定させる」「エージェントのスロット番号1を有効にする」を設置

 

エージェントを前に移動させる

チュートリアル「Agent Moves」のおさらいです。

エージェントを前に移動いどうさせるプログラムをつくります。

  1. プレイヤーカテゴリーにある「チャットコマンドを入力した時」ブロックを出す。
  2. チャットコマンドの”jump”をクリックし、”fd”と入力する。
  3. エージェントカテゴリーにある「エージェントを移動いどうさせる」ブロックを出し、「チャットコマンドを入力した時」ブロックの中に配置はいちする。
  4. 1ブロック移動いどうさせるを3ブロック移動いどうさせるに変更へんこうする。

エージェントを前に移動させる

 

実行してみましょう!

下の順番じゅんばんで実行しましょう。

  1. rl:エージェントにブロックを追加ついか
  2. pd:エージェントの設定せってい追加ついか
  3. fd:3ブロック分前進

 

実行の手順てじゅん

  1. 「開始」ボタンをおしてから、マイクラの画面にもどる。
  2. 「T」キーをおして、チャット画面を開く。
  3. コマンド入力し、「Enter」キーをおして実行する。

 

rlの実行結果けっか

rlの実行結果

 

pdの実行結果けっか

pdの実行結果

 

fdの実行結果けっか

fdの実行結果

砂岩さがんブロックをきながら、3ブロック分前進しました!

 

四角形を作るプログラムを考えよう!

「エージェントを移動いどうさせる」「エージェントの向きをえる」ブロックを使って、四角形を作成さくせいするチャットコマンド”square”を考えて作ってみましょう!

エージェントの向きを変える

チュートリアル「Agent Moves」のおさらいです。

「エージェントの向きをえる」ブロックは、エージェントカテゴリーにあります。

エージェントの向きを指定した方向(左右)にえるブロックです。

「エージェントの向きを変える」ブロック

 

順番通りに命令を実行する

四角形を作るプログラム(順次)

エージェントの動きを上から順番じゅんばんにならべられたでしょうか?

エージェントはならべられた命令めいれいを上から順番じゅんばんに実行していきます。

このように、順番じゅんばん通りに命令めいれいを実行すること順次実行じゅんじじっこうといいます。

 

変数ループを使ってみよう!

プログラムを見てみると、同じ命令めいれいを何回も使っていますね。

くり返し(ループ)を使うと、同じ命令めいれいをくり返し実行することができます。

 

変数へんすうループ変数へんすうを0~4にえてくりかえす」ブロックは、ループカテゴリーにあります。

「変数を0~4に変えてくりかえす」ブロック

変数へんすうを0~4にえてくりかえす」ブロック
変数へんすうあたいを0~終わりのあたいまで1ずつやしながら、中のブロックを実行します。

変数へんすうは0から始まるので、4回くり返したい場合は0~3になります。

 

ループのメリット

ループのメリット

  • プログラムがシンプルで見やすくなること。
  • 同じプログラムを何度も作らなくてよく、修正しゅうせいがかんたんになること。

もう少し大きな四角形を作りたくなったら、ループを使わない場合は4か所修正しゅうせい必要ひつようですが、ループを使うと1か所の修正しゅうせいですみますね。

 

変数とは

変数へんすうは、プログラムで使う数字や文字のようなデータを一時的いちじてき保存ほぞんするための場所のことです。

よく「数字や文字を入れておく箱」と言われたりします。

変数へんすうについて「変数へんすうとは?スクラッチ(Scratch)を使ってわかりやすく解説かいせつ」でくわしく解説かいせつしています。

 

実行してみましょう!

作ったプログラムを実行してみましょう。

  1. rl:エージェントにブロックを追加ついか
  2. pd:エージェントの設定せってい追加ついかする
  3. square:四角形を作る

エージェントの手持ちのブロックが十分ある場合は、rlコマンドを省略しょうりゃくしても大丈夫だいじょうぶです。

 

四角形を作ることができたでしょうか?

四角形ができない?

 

場合分けしてみよう!

実行してみると、エージェントは最後さいごブロックにぶつかりつづけて、四角形が完成かんせいしません。

「エージェントに確認かくにんさせる」「もし…なら」ブロックを使って、目の前にブロックがある場合は向きをえてよけるようにしましょう。

 

「エージェントに確認させる」ブロック

「エージェントに確認かくにんさせる」ブロック
エージェントととなり合っている指定した方向のマスにブロックがあるか調べます。
エージェントカテゴリーにあります。

 

「もし…なら でなければ」ブロック

  • 「もし…なら」ブロック
    もし条件じょうけんが正しい場合(しん)、中の命令めいれいを実行します。正しくない場合()は、何もしません。論理ろんりカテゴリーにあります。
  • 「もし…なら でなければ」ブロック
    もし条件じょうけんが正しい場合(しん)、「なら」の下にある命令めいれいを実行します。正しくない場合()は、「でなければ」の下にある命令めいれいを実行します。

 

条件によって処理の流れを変える

「エージェントに確認かくにんさせる」ブロックを「もし…なら・でなければ」ブロックの真の場所に配置はいちします。

最初さいしょのかたまりには、エージェントの前のマスにブロックがあった場合の命令めいれい。でなければの中には、エージェントの前のマスにブロックがなかった場合の命令めいれいきましょう。

条件分岐を入れたプログラム

エージェントの前のマスにブロックがある/なしで処理しょりが分かれるプログラムになりました。

このように、条件じょうけんによって処理しょりの流れがわること条件じょうけん分岐ぶんきといいます。

 

もう一度実行してみましょう!

実行する前に、エージェントをべつの場所に移動いどうするか、失敗しっぱいした四角形をこわして場所を確保かくほしましょう。

四角形が完成!

四角形はできたでしょうか?

 

まとめ

チュートリアル「Agent Build」について紹介しょうかいしました。

今回使用した新しいブロック

  • 「エージェントの設定せってい追加ついかブロック
    エージェントに機能きのう追加ついかするブロックです。
    今回は、「動きながらく」機能きのう追加ついかしました。
     
  • 「エージェントにアイテムを自分のスロットに設定せっていさせる」ブロック
    エージェントのインベントリスロットにブロックまたはアイテムを設定せっていします。
     
  • 「エージェントのスロット番号1を有効ゆうこうにする」ブロック
    指定したインベントリスロットを有効ゆうこうにするブロックです。
     
  • 変数へんすうを0~4にえてくりかえす」ブロック
    変数へんすうあたいを0~終わりのあたいまで1ずつやしながら、中のブロックを実行します。
     
  • 「もし…なら」ブロック
    もし条件じょうけんが正しい場合(しん)、中の命令めいれいを実行します。正しくない場合()は、何もしません。
     
  • 「もし…なら でなければ」ブロック
    もし条件じょうけんが正しい場合(しん)、「なら」の下にある命令めいれいを実行します。正しくない場合()は、「でなければ」の下にある命令めいれいを実行します。

 

プログラミングの基本となる3つの処理

今回のチュートリアルでは、プログラミングの基本的きほんてき処理しょりの流れを学ぶことができました。

プログラミングの基本的な処理の流れ(フローチャート)

  • 順次実行じゅんじじっこう順番じゅんばん通りに命令めいれいを実行すること。
  • くり返し … 同じ処理しょりを何回もくり返す処理しょり
  • 条件じょうけん分岐ぶんき条件じょうけんによって、処理しょりの流れをかえる。

プログラムは、この3つの処理しょりの流れを組み合わせて作られています。

【子ども向け】プログラミングの基本きほん構造こうぞうとは?- 順次じゅんじ分岐ぶんき反復はんぷくについて学ぼう!」でも、くわしく解説かいせつしています。よかったら合わせて読んでみてください。

 

 

タイトルとURLをコピーしました