Tournament
A round-robin tournament for two-player zero-sum games.
Every pair of contestants plays gamesPerPairing games with each contestant taking the first-player role in half the games, so neither side has a systematic first-move advantage in the overall standings.
== Scoring == Standard football (soccer) 3-1-0 scoring: Win = 3 points Draw = 1 point Loss = 0 points
Ties in the table are broken by goal difference (wins minus losses), then by total wins.
== Usage ==
val t = Tournament(contestants, gamesPerPairing = 10, random = new Random(42L))
println(t.leagueTable)
Type parameters
- M
-
the move type.
- P
-
the proto-state type.
- Pl
-
the player identity type.
- S
-
the state type.
Value parameters
- contestants
-
the players to enter in the tournament.
- game
-
implicit Game[S, M, Pl].
- gamesPerPairing
-
number of games each ordered pair plays (A-as-first vs B-as-second). Each unordered pair therefore plays 2 * gamesPerPairing games in total.
- random
-
random source passed to each GameRunner.
- state
-
implicit State[P, S].
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any