Прежде всего ошибка возникает из-за синтаксиса, который вы используете для объявления переменных:
int xInc = 1; // variable xInc can take only one value (1) and it should be an integer.
То же самое для yInc
Если вы собираетесь использовать Java, это хорошо начать думать с OOP Принципов
То, что вы хотите получить, - это сохранить Движение с Координатами с осями X и Y и направлением.
Начать модель этого в классе:
public class Move {
private int xcoordinate;
private int ycoordinate;
private String direction // better if it a enum
public Move(int xInc, int yInc, String direction) {
this.xcoordinate = xInc;
this.ycoordinate = yInc;
this.direction = direction;
}
// getter
public String getDirection() {
return direction;
}
}
Когда вы моделируете движение в классе, вы можете использовать его, чтобы делать ходы! Чтобы получить информацию, используйте методы получения.
Move firstMove = new Move(2, 1, "R"); // move 2 in x axis and 1 in y axis, in right direction
Move secondMove = new Move(3, -1, "L"); // move 3 in x axis and -1 in y axis, in left direction
вы можете избавиться от метода moveBy()
, поскольку класс Move встраивает в себя процесс перемещения.
Вместо этого есть метод makeMove(Move move)
и реализует в нем процесс перемещения.