2016-12-15 114 views
0

我是新來的Java,這是我必須做的:滾動骰子特定次數的Java

如果一個球員得到雙亂七八糟2個骰子5次,1周,隨機數10間30被選中。例如,如果這個數字是20,那麼另外兩個骰子應該滾動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次?

+2

你是否學會了「for循環」了嗎? –

+0

不是很多。但是,這有什麼幫助? –

+0

那麼,「for循環」可以讓你反覆重複一遍。看起來你可能想在這裏。所以我建議您閱讀Oracle提供的在線Java教程。 –

回答

-1

那麼我認爲你在找什麼叫做循環。

這裏是一個基本的例子: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html

其用於重複的代碼。

+1

歡迎來到Stack Overflow!雖然這可能會在理論上回答這個問題,[這將是更可取的](// meta.stackoverflow.com/q/8259)在這裏包括答案的基本部分,並提供參考鏈接。 – 4castle

+0

好的thx的信息 – MilkToast

+0

我試過用這個:for(int roll = 0; roll> = dicerolls; roll ++)其中dicerolls是隨機的num在10和30之間 –

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 
}