0
像在風險遊戲我必須擲骰子,但我不想使用Random.nextInt()
方法爲每卷。 由於某些原因,我已經是攻擊的結果,我想簡單地生成骰子的值。
在風險遊戲骰子被排序和單獨使用相比:
例如:如果攻擊輥3個骰子和防禦輥2個骰子和這些是結果:
[4,3,5] - [3, 5]
攻擊失去1輛坦克,防禦失去1輛坦克,因爲:
[5,4,3] - [5,3]
5 = 5(在平局的情況下,攻擊失敗)
4> 3防守丟失)
3(第三個骰子在這種情況下是無用的)
這是輸入的代碼:
解決這個骰子風險的Java算法遊戲
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?
爲什麼不生成骰子,然後根據規則確定結果? – rgettman 2014-10-02 17:45:52
爲攻擊失敗的每個坦克添加一條配合(隨機值,攻擊和防禦相同)(它甚至不必是隨機的,1很好)。爲防守失去的每個坦克添加一個>。例如2和1。或[1-5]上的一個隨機數,另一個在[x-6]上。 – njzk2 2014-10-02 17:47:32
@rgettman因爲我有很多骰子類型從易到現實。 Realistic使用基於規則的概率。但Easy模式有利於此次攻擊。 – 2014-10-02 17:57:49