#round-robin #round #robin #tournament #sport

round_robin_tournament

Small library to get a round robin schedule for n players

4 releases (2 breaking)

0.3.1 Oct 12, 2021
0.3.0 Sep 9, 2021
0.2.0 Sep 9, 2021
0.1.0 Sep 6, 2021

#3 in #robin


Used in social_tournament

MIT/Apache

8KB
55 lines

crates.io Documentation Workflow License License: MIT

Round Robin Tournament

Small library to get a round robin schedule for n players.

Example

use round_robin_tournament::round_robin_tournament::draw;

let tournament: Vec<Vec<(u32, u32)>> = draw(10);
// First round with 5 matches
let first_round = tournament.first().unwrap();
// First match with player id 0 against player id 9
let first_match = first_round.first().unwrap();
//Full tournament
/*
[(0, 9), (1, 8), (2, 7), (3, 6), (4, 5)]
[(1, 9), (2, 0), (3, 8), (4, 7), (5, 6)]
[(2, 9), (3, 1), (4, 0), (5, 8), (6, 7)]
[(3, 9), (4, 2), (5, 1), (6, 0), (7, 8)]
[(4, 9), (5, 3), (6, 2), (7, 1), (8, 0)]
[(5, 9), (6, 4), (7, 3), (8, 2), (0, 1)]
[(6, 9), (7, 5), (8, 4), (0, 3), (1, 2)]
[(7, 9), (8, 6), (0, 5), (1, 4), (2, 3)]
[(8, 9), (0, 7), (1, 6), (2, 5), (3, 4)]
*/

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

No runtime deps