我敢肯定,对大多数人来说,这是一个相当微不足道的问题,但我不能完全弄清楚我是如何让前一个骰子整数与程序中的前一掷骰子保持相同的。我认为代码是相当不言自明的,这是一个如此微不足道的程序,我因为无法理解它而自责。
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 次模拟。掷两个骰子。如果你掷出双重退出。如果您在当前掷骰中掷出的总和与前一次掷骰的总和相同,则退出。我已经尝试通过打印出以前的骰子总数来进行调试,但每次都默认为零。