General-purpose Discord Bot for managing tournaments of different formats: single-elimination, double-elimination, Round-Robin, Swiss, Champions League.
MIT License
2
stars
0
forks
source link
Support different tournament formats + brackets #4
for swiss and round-robin, look at maybe doing it round by round, meaning all matches in one round must be finished before generating next round matches (or generate all the matches beforehand, but wait for all round winners to be provided before moving onto next round).
CHAMPIONS LEAGUE
parameters would include:
whether group stage should be round-robin or swiss
if swiss, how many games each player in group should play
how many groups / how many players per group
how many players should go into knockout stages (must be a base 2 number)
and then the other parameters for elimination (bracket, seeding, random, etc.)
the bot should automatically figure out how many players should advance from each group, and in the case of inconsistent advancements from each group (such as 6 groups for a round of 16), then tie-breakers based on points should be used (the actual advancing of players from group can either be done automatically if the user just provides game-by-game winners, but it would be easier to make the user keep track and advance from groups at the end themselves).
Bracket parameter for elimination
also should add parameter for bracket tournaments (tournaments where seeding is only done for first round if there is seeding). simple list indexing should work fine for that.
Formats
new formats:
SWISS AND ROUND-ROBIN
for swiss and round-robin, look at maybe doing it round by round, meaning all matches in one round must be finished before generating next round matches (or generate all the matches beforehand, but wait for all round winners to be provided before moving onto next round).
CHAMPIONS LEAGUE
parameters would include:
the bot should automatically figure out how many players should advance from each group, and in the case of inconsistent advancements from each group (such as 6 groups for a round of 16), then tie-breakers based on points should be used (the actual advancing of players from group can either be done automatically if the user just provides game-by-game winners, but it would be easier to make the user keep track and advance from groups at the end themselves).
Bracket parameter for elimination
also should add parameter for bracket tournaments (tournaments where seeding is only done for first round if there is seeding). simple list indexing should work fine for that.