Домашнее задание: игра «Камень, ножницы, бумага».
Я создал перечисление:
из которого я хочу сравнить значения, чтобы решить, кто победит — компьютер или человек. Установка значений работает нормально, и сравнения работают правильно (бумага покрывает камень, камень раздавливает ножницы, ножницы разрезают бумагу). Однако я не могу заставить свой галстук работать. Пользователь объявляется победителем в любой момент, когда возникает ничья.
Ааа... чушь... это прояснит: userPick — это строка code> со значениями камень, бумага или ножницы. Я не могу использовать == для сравнения userPick с компьютером, который, как вы можете видеть ниже, приводится к типу Gesture из моего перечисления .
Код: Выделить всё
if(computer == 1)
computerPick = Gesture.ROCK;
else
if(computer == 2)
computerPick = Gesture.PAPER;
else
computerPick = Gesture.SCISSORS;
if(userPick.equals(computerPick))
{
msg = "tie";
++tieGames;
}
etc....
Я предполагаю, что существует проблема, связанная с тем, что rock не равен ROCK, или строковый userPick не может соответствует Gesture ComputerPick, поскольку последний не является строкой. Однако я не могу найти пример подобной ситуации в своем учебнике или учебниках Oracle по Java, поэтому не знаю, как исправить проблему...
Есть подсказки?
Подробнее здесь:
https://stackoverflow.com/questions/985 ... enum-value