Я пытаюсь реализовать движение через четыре точки, записывая, какие точки я посещаю.Думайте об этом как о квадрате.Я могу перемещаться из угла в угол или по диагонали.
Если вы «развернете» квадрат, вы получите прямую линию с четырьмя точками, которую можно рассматривать как 1-2-3-4-
, где после 4 она возвращается к 1.Поэтому, если я нахожусь в точке 2, я могу перейти к 1 и 3 прямо или по диагонали.Я бы реализовал это как 2-1 / 2+1
для угла в угол или 2+/-2
для диагонали.Проблема возникает, когда я в 2 и попытаюсь вычесть 2, где я окажусь вне списка.
У меня была мысль, что если бы я мог как-то перевести свои числа "за пределы" в пределы, это было бы решено.Одним из решений является жесткое кодирование:
0=4
-1=3
5=1
6=2
, но я уверен, что есть лучший способ сделать это, однако я не могу его найти.