我正在尝试创建一个掷骰子游戏,使用下面的骰子类掷两个六面骰子。然而,问题是有些掷骰数大于 6,这会破坏游戏的全部功能。这是我正在谈论的输出示例:
出来卷是 (3)(12) 总和是 15
输入点值 Round = 15
滚动是 (10)(8) 和 18
滚动是 (9)(3) 和 12
滚动是 (4)(5) 和 9
滚动是 (8)(7) 和 15
过线投注赢 5
import java.util.Random;
public class Dice {
private int numDice;
private int numSides;
private Random random;
public Dice(int numDice, int numSides) {
this.numDice = numDice;
this.numSides = numSides;
this.random = new Random();
}
public int roll() {
int total = 0;
for (int i = 0; i < numDice; i++) {
total += random.nextInt(numSides) + 1;
}
return total;
}
}
我在骰子类的游戏类中使用的代码:
public Game() {
## filler
dice = new Dice(2, 6);
}
int roll1 = dice.roll();
int roll2 = dice.roll();
int sum = roll1 + roll2;
System.out.println("Come out roll is (" + roll1 + ")(" + roll2 + ") sum is " + sum);
我必须为游戏掷两个骰子。似乎在骰子类中将两个卷加在一起?我不确定。
您的
Dice
类已经包含多次掷同一个骰子并返回总和的功能。
dice = new Dice(2, 6);
在这里你定义
dice
应该由两个骰子组成。int roll1 = dice.roll();
它将生成两个随机数并返回它们的总和。
如果您想手动多次掷同一个骰子,您需要更改构造函数调用:
dice = Dice(1,6)