ほとんどの人にとってはかなり些細な問題だと思いますが、以前のサイコロの整数をプログラム内の以前のサイコロのロールと同じままにする方法を完全に理解することはできません。コードはかなり自明だと思いますが、これは非常に些細なプログラムであり、理解できないことに自分自身を蹴っています。
import java.util.Random;
public class Dice {
public static void main(String[] args) {
Random rand = new Random();
int min = 1;
int max = 6;
int loop = 0;
int diceRollOne = 0;
int diceRollTwo = 0;
int diceTotal = 0;
int prevDiceTotal = 0;
while (loop < 15000) {
loop++;
diceRollOne = rand.nextInt(max - min + 1) + min;
diceRollTwo = rand.nextInt(max - min + 1) + min;
diceTotal = diceRollOne + diceRollTwo;
System.out.println("Dice Roll 1: " + diceRollOne);
System.out.println("Dice Roll 2: " + diceRollTwo);
System.out.println("Dice Total: " + diceTotal);
System.out.println("previous total: " + prevDiceTotal);
prevDiceTotal = diceTotal;
if (diceRollOne == diceRollTwo || diceTotal == prevDiceTotal) {
System.out.println("After " + loop + " loops the");
System.out.println("Numbers Match, YOU GET NOTHING, YOU LOSE, GOOD DAY SIR!");
System.exit(0);
}
}
}
}
基本的な考え方は、15,000 回のシミュレーションです。サイコロを2つ振る。ダブルクイットをロールした場合。現在のロールで前のロールの合計と同じ合計をロールした場合は、終了します。以前のサイコロの合計を出力してデバッグを試みましたが、毎回デフォルトでゼロになります。