質問: ''; for(var z=0;z
回答: `var z = y*SIDE_CELLS+x;` はインデックス(添字)ですね。 3×5の配列 ``` [ [ 1, 2, 3, 4, 5],//row:0, 0行目1列めの内容は2(0始まり) [ 6, 7, 8, 9, 10],//row:1, 1行目2列めの内容は8 [11, 12, 13, 14, 15] //row:2 ] ``` を一次元の配列にすると ``` [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ]のように単なる並びになりますが ``` そのインデックス(添字)は 添字: `0,1,2,3,4,5,6,7,8, 9,10,11,12,13,14` 内容:`[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]` 列の数5でくくると 添字: `{0,1,2,3,4},{5,6,7,8,9},{10,11,12,13,14}` それぞれは「先頭の数+{0,1,2,3,4}」になっていることがわかります。 それぞれのくくりの先頭の数は、 行の添字×列数(つまり0×5,1×5,2×5:0から始まる5(列の数)の倍数)になっていて {0,1,2,3,4}は列の添字になっていることがわかります。 なので、 `2次の配列[行の添字][列の添字]` は `1次の配列[行の添字×列数+列の添字]` (つまり2次の配列[1][2]は、1次の配列[1×5+2]と同じ(8を指す)) の関係があることがわかります。