我有4个方向,其ID为1234。 (北东南西)

如果我想向左转,我会得到当前的Id并减去1。我想我已经算出了这个算法。

int currentDirection = 1;
currentDirection = (currentDirection - 1) % 4 + 4;

如果当前方向为1(北),而我想向左(减),则得到以下结果:
Result: 4

这样就可以了。适用于所有方向。但是,当我想使用固定值(加号)时,我无法弄清楚如何获得正确的结果。我已经尝试过此代码。如果当前方向为124,则此方法有效。但是当当前方向为3(南)时,该按钮不起作用
int currentDirection = 3;
currentDirection = (currentDirection + 1) % 4;

这样会得到结果。
Result: 0

最佳答案

右转:currentDirection = currentDirection % 4 + 1
向左转:currentDirection = (currentDirection+2) % 4 + 1

10-05 21:37