Я новичок в java и пытаюсь запрограммировать функцию, которая проверяет, действительны ли ходы в настольной игре.
B1 имеет A2 и C2 в качестве допустимых ходов.
D1 имеет C2 и E2, однако, если C2 занят B1, то D1 имеет только E2 в качестве допустимого хода.
F1 имеет E2 и G2, опять же, если E2 занята D1, F1 имеет только G2 в качестве допустимого хода.
Наконец, H1 имеет только G2 в качестве допустимого хода и других допустимых ходов если G2 занят F1.
То же правило применяется к B1, если C2 занят D1.
Я думал объединить оператор switch с if, но я не знаю, как это сделать.
Это мой код:
public static boolean isValidMove(int dim, String[] players, char figure, String origin, String dest) {
if ((dim < 4) && (dim > 26))
throw new IllegalArgumentException ("NO!");
if (players == null)
throw new IllegalArgumentException ("NO!");
if ((figure != 'F') && (figure != 'H'))
throw new IllegalArgumentException ("NO!");
switch (origin) {
case "B1":
dest = "A2";
dest = "C2";
break;
case "D1":
dest = "C2";
dest = "E2";
break;
case "F1":
dest = "E2";
dest = "G2";
break;
case "H1":
dest = "G2";
break;
}
return true;
}
Исходными строками являются B1, D1, F1 и H1.