如何解决这个六面骰类?

问题描述 投票:0回答:1

我正在尝试创建一个掷骰子游戏,使用下面的骰子类掷两个六面骰子。然而,问题是有些掷骰数大于 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);

我必须为游戏掷两个骰子。似乎在骰子类中将两个卷加在一起?我不确定。

java dice
1个回答
1
投票

您的

Dice
类已经包含多次掷同一个骰子并返回总和的功能。

dice = new Dice(2, 6);

在这里你定义

dice
应该由两个骰子组成。
当你跑步

int roll1 = dice.roll();

它将生成两个随机数并返回它们的总和。

如果您想手动多次掷同一个骰子,您需要更改构造函数调用:

dice = Dice(1,6)
© www.soinside.com 2019 - 2024. All rights reserved.