2011-02-08 81 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;