Я уверен, что для большинства это довольно тривиальная проблема, но я не могу понять, как я должен заставить предыдущее целое число кубиков оставаться таким же, как и предыдущий бросок кубика в программе. Я думаю, что код довольно понятен, и это настолько тривиальная программа, что я корю себя за то, что не могу понять это.
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 симуляций. Бросьте два кубика. Если вы выбросите двойной бросок. Если вы бросаете ту же сумму в текущем броске, что и сумма предыдущего броска, тогда выходите. Я пытался выполнить отладку, распечатав предыдущее общее количество кубиков, но по умолчанию оно каждый раз равно нулю.