pelita
pelita copied to clipboard
Revise tournament state / state.yaml
The internal tournament state (especially for the second round) relies on implicit is
comparisons, which is hardly manageable in code already but also leads to serialisation (which is used to restart a game in case of a crash) like:
round2:
last_match: &id006 !!python/object/new:pelita.tournament.knockout_mode.Match
args:
- &id004 !!python/object/new:pelita.tournament.knockout_mode.Match
args:
- &id001 !!python/object/new:pelita.tournament.knockout_mode.Team
- '#2'
- &id002 !!python/object/new:pelita.tournament.knockout_mode.Team
- '#0'
state:
winner: '#0'
- &id005 !!python/object/new:pelita.tournament.knockout_mode.Bye
- &id003 !!python/object/new:pelita.tournament.knockout_mode.Team
- '#1'
state:
winner: '#1'
round_robin_ranking:
(the '#1'
etc. are not the problem here, these would be the ids of the teams, eg. 'group1'
). Not going to touch this before Bordeaux but it should be cleaned up afterwards, perhaps using proper match (uu)ids to set up the references.
Additionally, we should improve the tournament.out
file to also have better information about the matches played.