Я использую java, чтобы проверить, является ли намеченный ход для типа настольной игры действительным. Пользователь вводит предложенный ход, скажем, B1 (начальная позиция) и C3 (пункт назначения), и этот код проверяет, действительно ли он действителен. validCoordinates здесь проверяет, действительно ли данные координаты действительно живут на доске dim * dim. Лучший способ, которым я могу думать / знать о проверке каждого параметра, который должен быть истинным, чтобы составить правильное движение, - это создать отдельно все подходящие параметры, а затем сделать один последний оператор if, который проверяет истинность для всех из них. Я не уверен в том, как go создать каждый отдельный тест таким образом, чтобы у него было «имя», на которое я могу сослаться. Я попытался написать что-то вроде следующего для одного из моих параметров, чтобы координаты были действительными, он проверяет, присутствует ли намеченное место назначения перемещения в строке в массиве, и возвращает false, если так. Я оставил в своем предыдущем параметре, который я знал, как сделать, поскольку не было необходимости в циклах, поэтому теперь я могу просто ссылаться на это как validCoordinates, но не уверен, как это сделать сейчас, когда мне нужны циклы для некоторых других моих параметров. В конце я хотел бы написать что-то вроде
if (validCoordinates, destinationOccupied...) {
return true;
}
Это не логика c, в которой указаны мои необходимые параметры, с которыми мне нужна помощь, это возможность вызывать функцию, подобную приведенной выше. при проверке, чтобы увидеть, возвращают ли 'validCoordinates' и 'destinationOccupied' значение true. validCoordinates должен работать, но не уверен, как go о destinationOccupied, поскольку он использует al oop, и IntelliJ не похоже на способ, которым я пытался сделать destinationOccupied
// tests if origin and destination coordinates are valid
Boolean validCoordinates = Integer.parseInt(numerical[0]) >= dim -(dim-1)
&& Integer.parseInt(numerical[1]) <= dim
&& Integer.parseInt(numerical[2]) >= dim - (dim-1)
&& Integer.parseInt(numerical[3]) <= dim;
// tests if destination is already occupied
public Boolean destinationOccupied(players, destination) {
// a loop here to test if the proposed destination isnt for an already
filled position
}
Мои координаты находятся на доске форма координат, то есть A1, B3 и т. д. c, поэтому числовое значение в предыдущем просто преобразует это в числовые значения, чтобы мне было проще: ie 1,1,2,3