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