当前位置: 首页 > 知识库问答 >
问题:

掷骰子值

施梓
2023-03-14

我正在用java创建一个掷骰子的应用程序。我有一个掷骰子的“骰子”类,和一个使用“骰子”的多个实例变量的“骰子”类。但是,它只为我的值返回0。骰子类本身可以工作,并且会掷出一个随机数,但是我不知道如何在我的“骰子”类中得到多个掷骰子。感谢任何帮助。

骰子类

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();
        }
    }
}

模具等级

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;
    }
}

共有1个答案

米项禹
2023-03-14

你从不叫死。尝试在 Dice 中更改掷骰子方法,以便在获取其值之前滚动两个骰子。

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

还在操作符周围添加了一些空格,如=以提高易读性

 类似资料:
  • 我试图为一个游戏的掷骰子程序,其中用户输入一个下注金额和2个六面骰子滚动,如果7或11是滚动,他们赢了。如果掷2,3或12就输了,如果掷其他任何一个数字,它就显示该数字为一个点。它会继续掷骰子,直到掷7或该点为止,如果掷7就输了,否则就赢了。出于某种原因,在掷骰子时,他会掷骰子,然后再掷一次,看看他们是否赢了或输了。我不知道如何解决这个问题,任何帮助都不会附带

  • 你好堆栈溢出,我有一个小问题与这个程序。我正在尝试制作一个程序来掷四个骰子并将三个最高的掷骰子加在一起,然后打印这三个掷骰子中最低的一个。我犯了一个错误,就是把三个最高的卷子加在一起,然后打印出四个卷子中最低的一个。 我如何解决这个问题?我在谷歌上搜索了很多,想知道如何使用列表和集合,但我找不到任何可以解决这个问题的东西。 此外,我如何才能迫使用户选择一个集合并重新滚动该集合? 基本上,我想做的是

  • 我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:

  • 代码的目的是让两个玩家掷一对骰子。第一个掷出20分的玩家赢得比赛。我很难弄清楚如何正确地跟踪滚动的总和;它只给我当前回合的总和,然后当每个玩家滚动10次时游戏就结束了。 我如何正确地计算每个玩家游戏的总和,然后当其中一个玩家的总和等于20时停止循环?

  • 程序在最后未能计算出正确的和。我做错了什么?如有任何帮助,不胜感激。谢了。