Аннотация: Графы.Проблема графа в том ,что вы не увидите практических примеров . Все упускают важные детали .Но как же заставить ходить к примеру нашу пешку по полю которое будет произвольным? Как работает Граф? как сделать так что бы наша пешка ходила по вершинам?
Движение по стрелке часов
Перемещение по вершинам .
Допустим у нас есть граф . Пусть 4 вершины . Как сделать так ,чтобы наш объект передвигался по этим вершинам?
Для начала нам нужно получить координаты вершин для движения по ним .
Для этого мы сделаем два списка . В одном будут координаты Икс в другом Игрек .
Поскольку у нас всего 4 вершины у нас будет список длиной 4 ячейки .
1- Икс -126 Игрек -60
2- Икс 41 Игрек -57
3- Икс 176 Игрек -57
4- Икс -42 Игрек 77
Теперь для каждой вершины у нас есть координаты . Если нам нужно попасть на вершину 1 мы двигаемся в х =-126 у=-60 , если на 3 то х =176 у=-57 и так далее .
Теперь мы можем построить цикл .
мы будем менять каждый проход значения списка на единицу. Т.е (дальше по тексту то есть ) начальное значение ноль и каждый цикл +1 0+1,1+1,2+1,3+1 …..
Поскольку у нас есть данные только для 4 ячейки списка , нам нужно задать условие .
Что если список длиннее чем 4 , то мы начнем снова с первой ячейки.
Если этого не сделать то значение списка больше четырех будет пустым.
Теперь мы можем задать значение количества повторов или сделать их бесконечными.
Вместо плыть в точку ,мы можем использовать движение перейти в точку икс и игрек .
Как сделать так,чтобы мы могли сами управлять движением по этим точкам?
Если мы хотим сделать управление на две клавиши у нас возникнет проблема из за отрицательного числа . Нам придется или сделать еще один список для отрицательной шкалы . Или пойти другим путем чтобы не заходить за значение ниже нуля . Таким образом мы можем двигаться вправо до четырех или влево пока значение не станет отрицательным.
Мы можем двигаться влево пока не достигнем значения 4 и влево пока значение не будет 1 .
Есть много способов как это реализовать . Самым простым решением будет сделать стрелку часов ,где на циферблате будет 4 числа . стрелка будет делать поворот в по часовой стрелке или против часовой .
номер вершины будет соответствовать направлению стрелки таким образом не важно куда мы ее крутим , в этом решении не будет отрицательного числа и мы можем передвигаться влево или вправо .