gpt4 book ai didi

java - 石头、剪刀、布游戏无法正确记录分数

转载 作者:行者123 更新时间:2023-12-01 09:31:51 26 4
gpt4 key购买 nike

我的石头剪刀布游戏遇到问题。当我玩游戏时,它会将胜利或失败记录为胜利和失败。我试图让它记录一场胜利和一场失败,并且不会为胜利和失败添加分数。有什么建议吗?

import java.io.*;

public class RPS {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static int x;

public static void main(String[] args) throws IOException {

int choice;
do {
System.out.println("Game Menu");
System.out.println("---------------------------------------------");
System.out.println("1. Start Game");
System.out.println("2. Quit Program");

choice = Integer.valueOf(in.readLine()).intValue();

if(choice == 1) {
System.out.println("Welcome to Rock, Paper, Scissors");
System.out.println("---------------------------------------------");
System.out.println("Please enter Rock, Paper or Scissors to play");

int wins = 0, loss = 0, ties = 0;
String user = in.readLine();
String comp="";
int compc=(int)(3*Math.random())+1;

if (compc==1) {
comp="Rock";
}
else if (compc==2) {
comp="Paper";
}
else if (compc==3) {
comp="Scissors";
}

if (user.equals("Rock") || user.equals("rock")) {
System.out.println("You chose : Rock");
user = "Rock";
}
else if (user.equals("Paper") || user.equals("paper")) {
System.out.println("You chose : Paper");
user = "Paper";
}
else if (user.equals("Scissors")|| user.equals("scissors")) {
System.out.println("You chose : Scissors");
user = "Scissors";
}
else {
System.out.println("Error: Please type Rock, Paper or Scissors");
}
System.out.println("Computer: I chose " + comp);
if(user.equals(comp)) {
System.out.println("It's a tie!");
ties++;
}
else if (user.equals("Rock")) {

if (comp.equals("Scissors"))
System.out.println("Rock beats scissors, congrats you win!");
wins++;

if (comp.equals("Paper"))
System.out.println("Paper beats rock, sorry you lost!");
loss++;


}
else if (user.equals("Paper")) {

if (comp.equals("Rock"))
System.out.println("Paper beats rock, congrats you win!");
wins++;

if (comp.equals("Scissors"))
System.out.println("Scissors beats paper, sorry you lost!");
loss++;
}
else if (user.equals("Scissors")) {

if (comp.equals("Paper"))
System.out.println("Scissors beats paper, congrats you win!");
wins++;
if (comp.equals("Rock"))
System.out.println("Rock beats scissors, sorry you lost!");
loss++;
}
System.out.println("Total wins : " +wins);
System.out.println("Total losses : " +loss);
System.out.println("Total ties : " +ties);
}
if (choice == 2) {
System.out.println("Good-bye!");
in.close();
}
} while (choice !=2);
}
}

最佳答案

您需要用大括号:{} 括住缩进的条件代码。与 Python 等语言不同,Java 中的缩进没有语义意义。

例如。

if (comp.equals("Rock"))
System.out.println("Paper beats rock, congrats you win!");
wins++;

等同于:

if (comp.equals("Rock")) {
System.out.println("Paper beats rock, congrats you win!");
}
wins++;

wins 无条件递增。

尝试:

if (comp.equals("Rock")) {
System.out.println("Paper beats rock, congrats you win!");
wins++;
}

关于java - 石头、剪刀、布游戏无法正确记录分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39338539/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com