2011-12-29 69 views
3

給定以下網格(從1到36)中的數字,我如何確定它們在網格中的座標(x,y)?將網格內的數字轉換爲其對應的x,y座標

| 0 1 2 3 4 5 6 7 8 
------------------------------ 
0| 1 2 3 4 5 6 7 8 9 
1| 10 11 12 13 14 15 16 17 18 
2| 19 20 21 22 23 24 25 26 27 
3| 28 29 30 31 32 33 34 35 36 

即我想要得到的是以下幾點:

|  0  1  2  8 
------------------------------ 
0| (0,0) (1,0) (2,0) ... (8,0) 
1| (0,1) (1,1) (2,1) ... (8,1) 
2| (0,2) (1,2) (2,2) ... (8,2) 
3| (0,3) (1,3) (2,3) ... (8,3) 

我曾嘗試:

x = number%9-1; 
y = number/9; 

這在最後一列適用於所有的情況下,除了那些在右。

於是我想出了:

if (number%9==0) { 
    x = 8; 
    y = number/9-1; 
} 
else{ 
    x = number%9-1; 
    y = number/9; 
} 

我的問題是,有沒有這樣做的一個更聰明的方式?

回答

5
​​
+1

蒂頓打我幾秒鐘,所以刪除了我的。 – nycdan 2011-12-29 14:43:21

+0

謝謝!這真的有助於:) – Ben 2011-12-29 14:59:29

相關問題