12. 配列

同じ型の値をまとめ、番号で選んで使います。このまとまりを「配列」と呼びます。自分で配列を作る機能はAncient研究で解放されます。

三つの値をまとめる

int[] targets = new int[3];で整数を3個入れる配列を作ります。int[]は整数の配列型、new int[3]は3個分を新しく用意する指定です。最初はすべて0です。

配列の一つ一つの値を「要素」、位置を表す番号を「添字」と呼びます。番号は0から始まります。

添字順番この例で入れる値
01番目10
12番目20
23番目30

targets[0] = 10;は番号0の場所へ10を書き込む文です。番号と中身の値を区別してください。

順番に読んで合計する

ArcaneScript
public class Program : ArcaneProgram
{
    public void OnStart()
    {
        int[] targets = new int[3];
        targets[0] = 10;
        targets[1] = 20;
        targets[2] = 30;
        int total = 0;
        for (int i = 0; i < 3; i++)
        {
            total = total + targets[i];
        }
        if (total == 60)
        {
            Workshop.Log.Write("Total is sixty.");
        }
    }
}

iが0、1、2と増えるたびにtargets[i]から10、20、30を読みます。totalは10、30、60と増え、最後にTotal is sixty.が出ます。iは「どの場所か」、targets[i]は「そこにある値」です。

配列を3個分作ったので、使える番号は0から2までです。条件をi <= 3にすると、存在しない番号3を読もうとしてエラーになります。

配列を使うときの範囲

ArcaneScriptの配列は1〜64個の固定長です。後から個数は増やせません。Workshop.Golems[0]はゲームが用意した一覧を読む書き方なので、自分で配列を作れるようになる前から使えます。

練習問題

最後の要素を30から40へ変えてください。合計はいくつになり、ifとログをどう変えればよいでしょうか。

解答例を表示する解答例を閉じる

targets[2] = 40;へ変えます。合計は10 + 20 + 40で70です。条件をtotal == 70、文章をTotal is seventy.に変えます。要素の個数は3のままなので、forの条件は変えません。