【发布时间】:2023-03-03 21:07:02
【问题描述】:
我正在尝试编写一个模拟骰子游戏的方法,其中骰子(值从 1 到 6)被掷出四次,如果至少掷出一个 6,则返回 true,否则返回 false。如果返回 true,则游戏“获胜”。
我声明了两个变量来跟踪“6”被抛出的次数,另一个变量来跟踪游戏是否获胜(即是否抛出 6)。
然后我使用 for 循环来模拟掷骰子;如果掷出 6,这会增加掷出 6 的数量。
然后我使用条件返回 true,如果抛出了 6,否则返回 false。
我希望如果我运行代码足够多次,那么至少在某些情况下会返回 true(即我会“赢得”游戏)。 然而,当我实际运行代码时,我只会得到 false 返回。
我做错了什么?
这是我的代码:
import java.util.Random;
public class DiceGame {
Random generator;
public DiceGame() {
generator = new Random(45);
}
/**
* Throw a die four times and bet on at least one 6.
* @return true if the chevalier wins.
*/
public boolean game1() {
int trueDice = 0;
boolean gameWon = false;
for (int i=0; i < 4;i++) {
int dieRoll = generator.nextInt(6);
if (dieRoll == 6) {
trueDice++;
}
}
if (trueDice >= 1) {
gameWon = true;
} else {
gameWon = false;
}
return gameWon;
}
提前感谢您的帮助。
【问题讨论】:
标签: java