AI Win Seed: 1337 Shuffled Decks: Player: [Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, ...] AI: [Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, Farm Annihilator, ...] == AI Turn 1 == Scores for Movement of Bauernkönig: Right: -1, Down: -1, Left: -1, In-place: 0 => no RNG needed Scores for Selection of Unit Placement: E7: -7, C7: -7, E6: -5, D6: -5, C6: -5 => Random::nextInt(1, 4) => 1 => E6 Scores for Selection of Unit to Place: Irrelevant, since we have the same unit 5 times We still have to generate the number, to keep the Random instance in sync => Random::nextInt(1, 80001) => 65733 => Farm Annihilator Scores for Movement of E6: Up: 60 [1-60] Right: 60 [61-120] Down: 40 [121-160] Left: 40 [161-200] Block: 20 [201-220] In-Place: 160 [221-380] => Random::nextInt(1, 381) => 76 => Right == AI Turn 2 == Scores for Movement of Bauernkönig: Right: 0, Down: -1, Left: -1, In-place: 0 => Random::nextInt(1, 3) => 2 => In-Place Scores for Selection of Unit Placement: E7: -6, C7: -6, E6: -5, D6: -4, C6: -4 => Random::nextInt(1, 3) => 1 => D6 Scores for Selection of Unit to Place: Irrelevant, since we have the same unit 5 times We still have to generate the number, to keep the Random instance in sync => Random::nextInt(1, 80001) => 7882 => Farm Annihilator Scores for Movement of F6: Up: 60 [1-60] Right: 60 [61-120] Down: 40 [121-160] Left: 40 [161-200] Block: 20 [201-220] In-Place: 160 [221-380] Scores for Movement of D6: Right: 40 [1-40] Down: 20 [41-60] Left: 40 [61-100] Block: 20 [101-120] In-Place: 160 [121-280] F6 moves first => Random::nextInt(1, 381) => 306 => In-Place D6 moves second, scores unchanged: => Random::nextInt(1, 281) => 133 => In-Place == AI Turn 3 == Scores for Movement of Bauernkönig: Right: 1, Down: -4, Left: 0, In-place: 1 => Random::nextInt(1, 3) => 2 => In-Place Scores for Selection of Unit Placement: E7: -5, E6: -5, C6: -4, C7: -5, D6: -3 => No RNG needed Scores for Selection of Unit to Place: Irrelevant, since we have the same unit 5 times We still have to generate the number, to keep the Random instance in sync => Random::nextInt(1, 80001) => 28031 => Farm Annihilator Scores for Movement of F6: Up: 50 [1-50] Right: 50 [51-100] Down: 30 [101-130] Left: 30 [131-160] Block: 20 [161-180] In-Place: 160 [181-340] Scores for Movement of D6: Right: 30 [1-30] Down: 10 [31-40] Left: 30 [41-70] Block: 20 [71-90] In-Place: 160 [91-250] F6 moves first => Random::nextInt(1, 341) => 147 => Left Scores of D6 change: Right: -18000 // Can't combine due to same name Down: 10 [1-10] Left: 30 [11-40] Block: 20 [41-60] In-Place: 160 [61-220] D6 moves second => Random::nextInt(1, 221) => 89 => In-place == AI Turn 4 == Scores for Movement of Bauernkönig: Right: 1, Down: -5, Left: 0, In-place: 2 => no RNG needed Scores for Selection of Unit Placement: E7: -5, E6: -3, D6: -1, C6: -4, C7: -4 => no RNG needed Scores for Selection of Unit to Place: Irrelevant, since we have the same unit 5 times We still have to generate the number, to keep the Random instance in sync => Random::nextInt(1, 80001) => 47393 => Farm Annihilator Scores for Movement of E6 (sum: -17750): Up: 30 [1-30] Right: 30 [31-60] Down: 10 [61-70] Left: -18000 // Can't combine due to same name Block: 20 [71-90] In-Place: 160 [91-250] Scores for Movement of D6 (sum: -1800): Right: -18000 // Can't combine due to same name Down: 16000 [1-16000] Left: 20 [16001-16020] Block: 20 [16021-16040] In-Place: 160 [16041-16200] D6 moves first => Random::nextInt(1, 251) => 15401 => Down