gpt4 book ai didi

java - 掷骰子游戏问题

转载 作者:行者123 更新时间:2023-12-01 17:41:33 25 4
gpt4 key购买 nike

该代码的目的是让 2 个玩家掷一对骰子。第一个掷出总点数为 20 的玩家获胜。我无法弄清楚如何正确跟踪掷骰子的总和;它只给出当前回合的总和,然后当每个玩家滚动 10 次时游戏结束。

如何正确计算每个玩家游戏的总和,然后在其中一个玩家的总和等于 20 时停止循环?

int a, b, c, d;
int playerone=0, playertwo=0;

Random gen = new Random();
a=gen.nextInt(6)+1;
b=gen.nextInt(6)+1;
c=gen.nextInt(6)+1;
d=gen.nextInt(6)+1;

while(playerone!=20 || playertwo!=20) {
playerone=a+b;
playertwo=c+d;

System.out.println("Player 1 rolled " + a + " and a " + b );
System.out.println("Player 1 now has " + playerone);
System.out.println("Player 2 rolled " + c + " and a " + d );
System.out.println("Player 2 now has " + playertwo);

a=gen.nextInt(6)+1;
b=gen.nextInt(6)+1;
c=gen.nextInt(6)+1;
d=gen.nextInt(6)+1;

playertwo+=a+b;

playerone+=c+d;
if(playerone==20)
System.out.println("player one wins ");
else if (playertwo==20)
System.out.println("player two wins ");
}
}

最佳答案

请看一下并将其与您的代码片段进行比较:

int playerone = 0, playertwo = 0;
while(playerone < 20 && playertwo < 20) {
a=gen.nextInt(6)+1;
b=gen.nextInt(6)+1;
c=gen.nextInt(6)+1;
d=gen.nextInt(6)+1;

System.out.println("Player 1 rolled " + a + " and a " + b );
System.out.println("Player 1 now has " + playerone);
System.out.println("Player 2 rolled " + c + " and a " + d );
System.out.println("Player 2 now has " + playertwo);

playerone+=a+b;
playertwo+=c+d;
}

if(playerone >= playertwo) { // here you have to choose how
System.out.println("player one wins with " + playerone + " over " + playertwo);
} else {
System.out.println("player two wins with " + playertwo + " over " + playerone);
}

在上面的代码中,我纠正了一些事情,where 条件和 a/b 是针对玩家 1 的,c/d 是针对玩家 2 的。在 where 循环结束后,您必须根据结果值或通过你的逻辑是如何确定获胜者,因为双方都掷骰子。

关于java - 掷骰子游戏问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60495043/

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