我在屏幕上有8個8個方向的遊標。如何將8個方向映射到1D數組
欲把它們放進陣列和他們根據方向矢量選擇。順序無關緊要,但是我需要爲1D數組中的每個向量分配i
座標。我花了很長時間試圖發明它的公式,但沒有任何工作。
向量中的值可以是0,1,-1
。
僞代碼:
Cursor getCursor(int x, int y) {
int i = TheFunctionINeed(x,y);
return cursors[i];
}
注:因爲很多人被做我想做的困惑,我以前the answer做以下小提琴:Mapping vectors to array.
這是什麼意思:「我需要爲上面看到的每個矢量分配一維數組中的i座標」最終結果是什麼樣子的? – frenchie 2014-11-04 13:38:05
最終結果是一個整數,它將用作數組中8個位置長的偏移量。 – 2014-11-04 13:39:16
聽起來像你需要一個比數組更多的對象映射。但是我不瞭解這種關係:你傳遞[1; 0],你期望輸出什麼?或者你可能會傳遞一些東西,期望輸出是[1; 0]? 「爲每個矢量分配我在一維數組中的座標」是什麼意思? – frenchie 2014-11-04 13:40:56