配列とは変数の一種ですが、中に仕切りがあってそれぞれの部屋に通し番号がついているものを想像してください。仕切りがあるので中に複数の値やオブジェクトを格納しつつ、全体をひとまとまりとして扱うことができます。また中身を通し番号で指定できるのでループと非常に相性が良いのが特徴です。
出題文通り、まずはそのまま実行してみましょう。4体のキャラクターが出現します。これは、最後の行にある
1 |
placeCharacters(at:rows) |
がrowsという配列変数の中のひとつひとつの数字を座標にしてキャラクターを並べてくれます。placeCharactersコマンドについてはあまり深く考える必要はありません。ともかくrowsの中に0が入っていたら(0,0)に、1があれば(0,1)にキャラクターが出ると思っておきましょう。
さて、最初の状態では、4体しか出てきません。空いたコマが2つあります。(0,2)と(0,6)ですね。逆にいうと、(0,0)、(0,1)、(0,3)、(0,4)に出現しています。これがそのまま先頭行の
1 |
let columns = [0, 1, 3, 4] |
から来ているわけです。足りない数字を追加してやりましょう。数字と数字は半角カンマで区切ります。
1 2 3 4 5 6 7 |
// Add any missing rows to your array. //(配列に足りない行を足してください) var rows = [0, 1, 2, 3, 4, 5] // Places a Character on each row in rows. //(rowsの中のそれぞれの行にCharacterを配置してください) placeCharacters(at: rows) |
(標準の各英文コメントの後ろに訳を入れてあります)