Вам не обязательно менять свой код, чтобы сократить его.Вы можете поместить параметры дерева в список и сравнить выбор пользователя со значением, которое следует за выбором компьютера, чтобы увидеть, выиграл ли пользователь.
Если у вас есть список [Rock, Paper, Scissors]
, компьютер выбралРок.Найдите элемент после него, так что бумага в этом случае.Теперь вам нужно только увидеть, равно ли это значение выбору пользователя, и если это так, пользователь выиграл.
List<String> choices = Arrays.asList("Rock", "Paper", "Scissors");
if (playerChoice.equals(computerChoice)) {
System.out.println("Draw!");
} else if (playerChoice.equals(choices.get((choices.indexOf(computerChoice) + 1) % 3))) {
System.out.println("You won!");
} else {
System.out.println("You lost!");
}
Здесь choices.indexOf(computerChoice)
находит текущие позиции выбора компьютера в списке,Он добавляет единицу, чтобы найти следующий элемент в списке, и использует оператор остатка (% 3
), чтобы убедиться, что, если следующий индекс выше, чем последний элемент в списке, он возвращается к первому элементу.