00:00 さて、Quest11に突入したわけですが、今回は新しく配列というものを学んでいきます。 00:08 配列と番号で仕切られた箱というものを想像してみてください。 00:13 例えば、リンゴ、バナナ、みかん、いちごの4種類の果物があるときに、番号で仕切られた箱に入れていくことにします。 00:24 リンゴを0バナナを1みかんを2いちごを3に入れておくとしましょう。 00:30 繰り返し同様配列を数えるときも、ゼロからカウントするのは気をつけてください。 00:36 それぞれの番号に仕切られた箱に入れておけば配列0を指定したら、リンゴだとわかるし、配列位置を指定したら自動的にバナナだとわかるというのが配列のプログラムです。 00:50 番号で仕切られた箱があるっていうイメージですので、いくら膨大なデータであっても、たくさんのデータをまとめておいて、配列の番号さえわかれば指定が可能になるというのが、配列のメリットになります。 01:05 配列を定義する際に使えるものは2種類ございます。 01:09 今外レッドの2種類になります。この二つの使い分け違いはというと、Constは配列の値を変更せずに動かすときのみ使います。 01:21 なので要は1本の棒を作る際などは全てConstで対応可能ということですね。 01:28 対してletは、配列の値を変更、再代入することができるものです。例えば、赤、青、赤の棒を作るために配列を定義するが、2本目が青赤青だったときなど、配列の値を変更しなくてはいけない際こういうときは必ずletを使いましょう。 01:49 では今回の問題では、赤、青、赤の長さ3の棒を作る問題ですので、ひとまずエージェントに素材を持たせておきましょう。順番はどっちでもいいですが、今回は赤をスロット2にスロット3に入れておきます。 02:08 それではプログラムを作っていくわけですが、今回まずは配列をAとして定義をする必要があります。 02:16 今回、赤ブロック青ブロック赤ブロックですので、配置するスロット番号は232になります。この際の配列の値というと、配列0のときが2配列1のときが3配列2のときが2ということになりますね。 02:35 わかりやすいように下にも書いておきます。そしたら、繰り返しで置かせるプログラムを作って完成なわけですが、ここも序盤なので説明をしていきますね。 02:46 繰り返しforで、今回は長さが3になりますので、3になるまで繰り返しをさせるようなプログラムを作ります。 02:56 こちらですね。エージェントの動きは前において、左に1個移動するという感じになるので、プログラムで言うと、このような感じになります。こうなりました。そして 03:11 03:13 今回も置くブロックを指定しなきゃいけないわけですが、ここに入れなきゃいけないですよね。 03:20 結論今回はこれを入れる必要があるんですが、数転送元転送先という数字は今までと一緒ですので数は1個、転送先はスロット1ですので左と右は1になります。 03:37 ここで配列のAの0から始まるi番目と設定をすると、ここが232と変化をしていくわけです。 03:48 こちらでプログラムは完成となるので、実際に動かしてみて、クリアできたら、次のステージに進みましょう。