- 674 名前:661 mailto:sage [2009/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'}, }; と書かなければいけません。上下と左右を変えなければならず紛らわしいと私は思います こういうことを言っていたつもりなんですけど解りましたか
|

|