Random.nextInt()
方法。
由于某些原因,我已经有了攻击的结果,我想简单地生成骰子的值。int diceForAttack = StringUtils.nextInt(3) + 1;
int diceForDefense = StringUtils.nextInt(3) + 1;
//prints: attack Vs. defense
System.out.println(String.format("%d Vs. %d", diceForAttack, diceForDefense));
int maxLost = Math.min(diceForAttack, diceForDefense);
int attackLoses = StringUtils.nextInt(maxLost + 1);
int defenseLoses = maxLost - attackLoses;
//prints:
//Attack lost x
//Defense lost y
System.out.println(String.format("Attack lost %d\nDefense lost %d", attackLoses, defenseLoses));
//Now I want to generate two arrays
//such that the dice respect the values attackLoses and defenseLoses
int[] attack = new int[diceForAttack];
int[] defense= new int[diceForDefense];
...
...
...
问题是:
因为我已经知道有多少坦克将失去攻击和防御
我怎样才能生成两个数组,使骰子尊重值attackLoses和defenseLoses?
答案 0 :(得分:1)
处理这类问题的一种干净,简单的方法是重新掷骰子,直到得到你想要的结果。缺点是,如果要求的结果不太可能(甚至不可能),那么需要一段时间,但这似乎不会成为问题。