12. 配列
同じ型の値をまとめ、番号で選んで使います。このまとまりを「配列」と呼びます。自分で配列を作る機能はAncient研究で解放されます。
三つの値をまとめる
int[] targets = new int[3];で整数を3個入れる配列を作ります。int[]は整数の配列型、new int[3]は3個分を新しく用意する指定です。最初はすべて0です。
配列の一つ一つの値を「要素」、位置を表す番号を「添字」と呼びます。番号は0から始まります。
| 添字 | 順番 | この例で入れる値 |
|---|---|---|
| 0 | 1番目 | 10 |
| 1 | 2番目 | 20 |
| 2 | 3番目 | 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の条件は変えません。
