我是Java的新手,这就是我必须要做的事情:
如果玩家在1轮中2次骰子获得双六次,则选择10到30之间的随机数。例如,如果该数字为20,则另外两个骰子应滚动二十次,然后将这两个数字相乘并得到累积乘积。
这只是大项目的一小部分,这是我到目前为止所做的:
if (ninedice == 6 && sixdice == 6) {
rolledDoubleSix++;
if (rolledDoubleSix == 5) {
dicerolls = (int) Math.ceil(Math.random() * (30 - 10 + 1) + 10);
int ninediceproduct = dicerolls;
int sixdiceproduct = dicerolls;
if (ninediceproduct > 0) {
ninediceproduct=(int)Math.ceil(Math.random() * 9);
}
if (sixdiceproduct > 0) {
sixdiceproduct = dicerolls * (int) Math.ceil(Math.random() * 6);
}
int cumulativetotal = 0;
int cumulative = sixdiceproduct * ninediceproduct;
cumulativetotal = cumulativetotal + cumulative;
accountpoints = accountpoints + cumulativetotal;
accountptsoutput.setText("" + accountpoints);
我遇到的问题是我不知道如何使两个骰子滚动特定次数。如果10到30之间的随机数是18,那么如何将这些骰子翻滚18次?
答案 0 :(得分:0)
像其他人所说的那样使用for循环。
另一种方法就是拥有多个变量。也可以使用java.util.Random(以及随后的r.nextInt(seed)+ 1方法)而不是Math.random。
我将如何做到这一点
Random r = new Random();
int firstSpin = r.nextInt(6) + 1; //+1 so result cannot be zero
int secondSpin = r.nextInt(6) + 1;
//more spins if needed
if(firstSpin == 6 && secondSpin == 6) {
//do something
}
答案 1 :(得分:-1)
嗯,我认为你所寻找的是一个循环。
这是一个基本的例子: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
用于重复代码。