09/12/26 20:07:12
>>670
まず前提としてxは横方向、yは縦方向というのは了解できますか?
さらに言うと左はx軸の負の方向、右は正の方向で
yは数学の慣習とは違ってややこしくなりますが、コンピュータの画面表示では
上がy軸の負方向、下がy軸の正方向とするのが一般的だと思います(3Dだとまた変わってきますが2Dなら)。
x++ 右に移動、x-- 左に移動、y++ 下に移動、 y-- 上に移動。了解できますか?
その上で
a b
c d
という盤を使ったゲームか何かがあるとします。
aの位置にいるならx=0, y=0、bならx=1,y=0、cならx=0, y=1、dならx=1,y=1。
盤を2次元配列であらわすときに
char[][] data = {
{ 'a', 'b' },
{' c', 'd' },
};
とそのまま書けるのが[y][x]法です。
aの位置である x=0,y=0 から x++ すれば右にあるbの位置 x=1,y=0 に行けます。
しかし[x][y]法だと x=0,y=0 から x++ するとcの位置に、つまり下に移動したことになってしまう。
[x][y]法では
char[][] data = {
{ 'a', 'c'},
{ 'b', 'd'},
};
と書かなければいけません。上下と左右を変えなければならず紛らわしいと私は思います
こういうことを言っていたつもりなんですけど解りましたか