У меня есть 4 направления с идентификаторами 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