Я создаю игру Rock, Paper, Scissors, и я хочу, чтобы она отображала индивидуальные победы, потери и связи.Отображение Wins-Loss-Ties
Когда я запускаю его, он всегда говорит, что я проигрываю.
Проблема, я думаю, либо с операциями if-then, которые должны увеличивать правильное значение.
if(ret == 1)//starts the increases of wins and losses
{
if(ret != 0)
{
if (ret != 2)
{
w += 1;
}
}
}
if(ret == 0)
{
if(ret != 1)
{
if(ret != 2)
{
l += 1;
}
}
}
if(ret == 2)
{
if(ret != 1)
{
if(ret != 0)
{
t += 1;
}
}
}
Или в этом методе, который определяет, выиграл ли человек или потери.
public static int winnerRet(char user, char compGuess)// method to determine winner
{
int ret = 3;
if(user == 'R')
{
if(compGuess != 'P')
{
if(compGuess != 'R')
{
ret = 1;
}
ret = 2;
}
ret = 0;
}
if(user == 'S')
{
if(compGuess != 'R')
{
if(compGuess != 'S')
{
ret = 1;
}
ret = 2;
}
ret = 0;
}
if(user == 'P')
{
if(compGuess != 'S')
{
if(compGuess != 'P')
{
ret = 1;
}
ret = 2;
}
ret = 0;
}
return ret;
}//end winnerRet
Последнее, что я думаю, что это может быть метод, который генерирует выбор компьютеров.
public static char compChoice()//starts method to generate computure choice
{
Random random = new Random();
int compNum;
char compGuess = '\0';
compNum = 1 + random.nextInt(3);
if (compNum == 1)
{
compGuess = 'R';
}
if(compNum == 2)
{
compGuess = 'S';
}
if(compNum == 3)
{
compGuess = 'P';
}
return compGuess;
}//end method compChoice
Как я могу это исправить?
Есть ли ошибки при запуске программы? – James
Возможно, вы захотите объединить свои операторы if/else с логическими операторами (&& и ||), чтобы сделать это доступным для чтения. – Michael
Множество ваших операторов if избыточно. Если это что-то равно, то это определенно не может равняться двум другим. – Compass