2011-02-08 52 views

回答

3

這就是mod操作通常適用於編程中的負數(在我嘗試過的所有語言中)。
但是你可以很容易地做MOD

nextY = (y + 20 - 1) % 20; 
+0

gotchya,生病只是做到這一點。 – wbarksdale 2011-02-08 04:32:50

1

模運營商常爲負輸入返回負數之前做出一些積極。例如,C#將爲您提供-356..359中的表示x % 360的數字。

而是減去1然後取模20,你可以添加19,這是同樣的事情,但保持了一些積極,或者您可以使用三元運算符:

nextY = (y+19) % 20; // or 
nextY = (nextY == 0) ? 19 : nextY - 1;