Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java I';我正在尝试制作掷骰子应用程序。它可以投掷特定数量的骰子。有没有办法添加这些值?_Java_Eclipse - Fatal编程技术网

Java I';我正在尝试制作掷骰子应用程序。它可以投掷特定数量的骰子。有没有办法添加这些值?

Java I';我正在尝试制作掷骰子应用程序。它可以投掷特定数量的骰子。有没有办法添加这些值?,java,eclipse,Java,Eclipse,您能帮我找到一种添加这些值的方法吗?我想做一个掷骰子的人来玩地下城和龙。谢谢你的帮助 System.out.println("What kind of dice?"); int diceType = userInput.nextInt(); System.out.println("How much?"); int diceNumber = userInput.nextInt();

您能帮我找到一种添加这些值的方法吗?我想做一个掷骰子的人来玩地下城和龙。谢谢你的帮助

System.out.println("What kind of dice?");
    
    int  diceType = userInput.nextInt();
    


    System.out.println("How much?");
    
    
    int  diceNumber = userInput.nextInt();
    
    int i = 1;
    while ( i <=diceNumber)
        {
     System.out.println("Value:  " 
              + getRandomInteger(diceType, 1));
            i++;
System.out.println(“什么样的骰子?”);
int diceType=userInput.nextInt();
System.out.println(“多少钱?”);
int diceNumber=userInput.nextInt();
int i=1;
而(i)问题#1:为模具创建数据结构。
此骰子对象应至少存储边数和当前面值。您可以隐式假设每边都有一个从1到NUM\u sides的唯一值。您可以创建具有不同边数的骰子,也可以变异相同的骰子集合以更改NUM\u sides的值如果没有DLE,面值的范围仍然是从1到NUM_SIDES

问题2:掷骰子 首先,将骰子存储到骰子数组(或其他允许重复的集合)中。骰子对象应该有一个
roll()
函数来更改当前值。您的
getRandomInteger()
应从该方法调用,调用结果应存储在
currentValue
字段中

问题3:添加值 遍历骰子数组并添加并获取其当前值。这意味着您的
die
类应该有一个
getCurrentValue()
方法。累积骰子的总和

需要考虑的事情
  • 所有的骰子都应该有相同的边数吗?我认为这一点都不重要。事实上,我认为你可以在Yahtzee这样的游戏中使用相同的实现,其中骰子的边数相同,或者在AD&D中,你有不同边数的骰子
  • 在Yahtzee这样的游戏中,你不总是滚动整个集合。你需要考虑一个策略,用户可以选择一些骰子重新排序。我不记得这对于广告和D是真的,但是如果是的话,你需要考虑如何区分每个骰子和部分累积当前值。一卷一卷 >强>随机化< /强>。对于更现实的随机化,考虑当前时间之类的事情。也需要在1和<强> NuthSuths(包容)之间。
  • 设置边数。假设边数可能会更改,则需要添加setter方法来设置边数。还需要通过构造函数传递此参数,以便在实例化模具对象时将骰子设置为某个有效数字

  • Java和Javascript是完全不同的语言您可以…在循环外定义一个变量,将其初始化为零,然后在循环内添加。您可以使用类似
    a=a+diceValue
    ,或等效的
    a+=diceValue
    。我如何命名一个随机整数?现在它们只是随机整数,所以我不能将其添加到变量创建一个变量,
    int sum=0;
    (在循环外部),然后只添加随机值。您可以使用
    random#nextInt(diceType)+1
    从1到diceType获取随机值。请记住,dice.getDie1()之类的函数调用表示一个值,因此它可以在任何可以使用文字数字或变量的地方使用。不要求您将函数返回的值指定给变量。您可以直接使用它。
    public class Die {
       private int currentValue;
       private int numberOfSides;
    
       public int getCurrentValue() { return currentValue;}
       public int roll() {currentValue = getRandomInteger();}
    
    }