gpt4 book ai didi

java - 重置游戏以在 Java 中重新开始

转载 作者:行者123 更新时间:2023-11-30 10:11:45 25 4
gpt4 key购买 nike

我在用户和计算机之间创建了一个循环 10 轮的骰子游戏 - 但如果其中一个游戏轮是平局 - 那么它会询问你是否想再次玩并重新开始游戏。我在最后一部分遇到问题,因为游戏现在随机迭代。有什么建议吗?

import java.util.Random;
import java.util.Scanner;
public class Lab2 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("User vs. Computer Dice Game");

boolean Correct = false;
boolean Replay = false;

while(Replay == true) {

}
while(Correct == false) {

System.out.println("Do you want to play again? ");
String a = in.nextLine();
System.out.print(a);
if (a.equals("yes")) {
for(int i =1; i<11; i++) {

Random rand = new Random();
int usernum = rand.nextInt(6)+1;
System.out.println("User rolled: "+usernum);
Random rand2 = new Random();
int computernum = rand2.nextInt(6)+1;
System.out.println("Computer rolled: "+computernum);

if (usernum > computernum) {
System.out.println("User wins");
System.out.println();
}if (computernum > usernum) {
System.out.println("Computer wins");
System.out.println();
}
if(usernum == computernum) {
System.out.println("It\'s a tie!");
System.out.println("Do you want to play again? (Y/N) ");
System.out.println();
if (a.equalsIgnoreCase("N")){
Replay = true;
}
else {
Correct = false;
}
}
}
}
System.out.println();
}
}
}

最佳答案

一些注意事项:

  • 您从未设置 Correct=true。
  • 一旦进入“while (Correct==false)”循环,您就永远不会测试 Replay。
  • 创建 rand2 没有意义。只需重复使用 rand1。

主循环有“for (int i=1;i<11;i++)”。
在那个循环里面,如果是平局,你问你是否想再玩一次,但是没有什么可以结束这个循环,所以内部的 for 循环将继续玩下去,直到你打到 11。

你可以添加一个 break 语句来终止 for 循环。

事实上,您最好中止循环,然后在 while 循环的顶部再次提问:

while(Correct == false) {
System.out.println("Do you want to play again? ");
String a = in.nextLine();
System.out.print(a);
if (a.equals("yes")) {
for (int i = 1; i < 11; i++) {
Random rand = new Random();
int usernum = rand.nextInt(6) + 1;
System.out.println("User rolled: " + usernum);
Random rand2 = new Random();
int computernum = rand2.nextInt(6) + 1;
System.out.println("Computer rolled: " + computernum);

if (usernum > computernum) {
System.out.println("User wins");
System.out.println();
}
if (computernum > usernum) {
System.out.println("Computer wins");
System.out.println();
}
if (usernum == computernum) {
System.out.println("It's a tie!");

// Exit early from the for loop:
break;
}
}
}
else
{
Correct = true;
}
}

关于java - 重置游戏以在 Java 中重新开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52281292/

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