diff --git a/src/elo.rs b/src/elo.rs index a704c55..7104fa3 100644 --- a/src/elo.rs +++ b/src/elo.rs @@ -253,17 +253,16 @@ impl PlayerArena { } fn prop_arena(&mut self, n: usize) { - self.play( - &(0..self.players.len()) - .flat_map(|i| { - (0..self.players.len()) - .map(move |j| (i, j)) - .filter(|(i, j)| i != j) - .collect::>() - }) - .collect::>() - .repeat(n), - ); + let mut games = (0..self.players.len()) + .flat_map(|i| { + (0..self.players.len()) + .map(move |j| (i, j)) + .filter(|(i, j)| i != j) + }) + .collect::>() + .repeat(n); + games.shuffle(&mut rand::rng()); + self.play(&games); } fn process_outcome(&mut self, player1: usize, player2: usize, outcome: &Outcomes) {