我有4个方向,其ID为1
,2
,3
,4
。 (北东南西)
如果我想向左转,我会得到当前的Id
并减去1。我想我已经算出了这个算法。
int currentDirection = 1;
currentDirection = (currentDirection - 1) % 4 + 4;
如果当前方向为1(北),而我想向左(减),则得到以下结果:
Result: 4
这样就可以了。适用于所有方向。但是,当我想使用固定值(加号)时,我无法弄清楚如何获得正确的结果。我已经尝试过此代码。如果当前方向为
1
,2
或4
,则此方法有效。但是当当前方向为3
(南)时,该按钮不起作用int currentDirection = 3;
currentDirection = (currentDirection + 1) % 4;
这样会得到结果。
Result: 0
最佳答案
右转:currentDirection = currentDirection % 4 + 1
向左转:currentDirection = (currentDirection+2) % 4 + 1