骰子值

Dice Roller Values

我正在使用 java 创建一个掷骰子应用程序。我有一个滚动单个骰子的“骰子”class,以及一个使用“骰子”的多个实例变量的“骰子”class。但是,对于我的值,它只有 returns 0。骰子 class 可以自行运作,并且会掷出一个随机数,但我不知道如何在我的“骰子”class 中获得多次掷骰。感谢任何帮助。

骰子Class

public class Dice {
    Die die1=new Die();
    Die die2=new Die();
    private int die1Value;
    private int die2Value;
    private int sum;
    public Dice() {
        die1Value=0;
        die2Value=0;
    }
    public int getDie1Value() {
        return die1Value;
    }
    public int getDie2Value() {
        return die2Value;
    }
    public int getSum() {
        return sum;
    }
    public void roll() {
        die1Value=die1.getValue();
        die2Value=die2.getValue();
        sum=die1Value+die2Value;
    }
    public void printRoll() {
        System.out.println("Die 1: "+die1Value);
        System.out.println("Die 2: "+die2Value);
        System.out.println("Total: "+sum);
        if (sum==7) {
            System.out.println("Craps!");
        } else if (die1Value==1 && die2Value==1) {
            System.out.println("Snake Eyes!");
        } else if (die1Value==6 && die2Value==6) {
            System.out.println("Box Cars!");
        } else {
            System.out.println();
        }
    }
}

死Class

package a3.ben;

public class Die {
    private int value;
    public Die() {

    }
    public void roll() {
        value=(int) (Math.random()*6)+1;
    }
    public int getValue() {
        return value;
    }
}

你永远不会打电话给 die.roll。尝试更改 Dice 中的 roll 方法以包括在获取它们的值之前滚动两个骰子。

public void roll() {
    die1.roll(); // change the value of both dice
    die2.roll();
    die1Value = die1.getValue();
    die2Value = die2.getValue();
    sum = die1Value + die2Value;
}

还在 =+ 等运算符周围添加了一些空格以提高可读性