Настольная игра. Анимация хода

Здравствуйте,

Помогите пожалуйста сделать анимированый ход игрока.

На игровом плане есть поля, которые игрок должен пройти. Центр каждого поля задан координатами Х и У.

JavaВыделить код

| | |
| --- | --- |
| 1 | public record Coordinate(double x, double y){}; |

Координати всіх полем собраны в массиве

JavaВыделить код

| | |
| --- | --- |
| 1 | public final Coordinate[] fieldCoordinates; |

Индекс в массиве соответствует номеру игрового поля.

Ситуация: играют три игрока (синий, желтый, красный). Сейчас очередь желтоволосый игрока. Он стоит на поле номер 1. Когда пользоветель кликает на поле №9, тогда желтый игрок должен пройти к полю №9.

Я написал следующий метод для передвижения игрока.

JavaВыделить код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

 public void animatePlayerMove(int startPos, int destPos, ImageView figure) {
 
        TranslateTransition transition = new TranslateTransition(Duration.millis(3000), figure);
            
        for (int i = startPos; i <= destPos ; i++) {
 
            transition.setToX(-1(figure.getX()-fieldCoordinates[i].x() + FIELDSIZE/2));
 
            transition.setToY(-1 (figure.getY()-fieldCoordinates[i].y() + FIELDSIZE/2));
 
        }
 
        transition.play();
 
    }

Игрок передвигается к своему полю, но проходит прямой линией к целевому полю. По заданию он должен проходить через каждое поле на своем пути.

Я прикрепил рисунок, на котором часть игрового плана. Сейчас мой игрок продвигаться по красной линии, а должен по зеленой.

Помогите пожалуйста исправить мой код, чтобы движение было правильным.