Oui décompose les étapes, pose toi les bonnes questions, par exemple : "Est-ce que je dois gérer différents types de brackets ?" (single, double elim)
Joanna Dark a écrit:Maintenant, je dois coder tout un tournoi et afficher a chaque etape du tournoi quels sont les participants encore en liste.
Si a chaque étape tu dois afficher la liste des jouers encore in, tu peux faire une fonction printActivePlayers()
Joanna Dark a écrit:Je veux faire une fonction qui compte un point par match gagne dans un set en best of 3.
J'ai du mal à saisir l'utilité là, selon tes dires les matchs sont décidés aléatoirement, un vainqueur, un perdant. ça veut dire que tu n'as pas à te soucier de prendre des décisions sur les scores, je me trompe ?
Joanna Dark a écrit:Ensuite une fonction qui calcule tous les points obtenus pour chaque match de chaque set de poule.
Une fois fois les poules jouées, tu veux pouvoir comptabiliser les nombres de points pour chaque joueur c'est ça ? Tu as pas besoin de le faire avant on est d'accord, la poule se joue sans tenir compte de ses résultats internes.
Donc ton flow c'est :
1. Fabrication de la liste des n participants
2. Distribution des participants en n/taille_poule
3. Jouer les poules
4. Etablir un ranking/seeding en fonction du score des joueurs
5. Génération du bracket, à la tio ? Tu prends taille_bracket = 2^k tel que : 2^k <= n < 2^(k+1)
6. Itération sur le bracket jusqu'à qu'il reste plus qu'un seul match
Maintenant oui, si c'est single elim c'est facile tu joues les n/2 matchs, puis tu rebuild un bracket normalement 2 fois plus petit. jusqu'à qu'il reste 1 seul match.
si c'est double elim, tu considères au début un seul bracket, le bracket winner où tout le monde est. Et à la suite des matchs, les n/2 loosers vont fabriquer le bracket looser.
Règles à maintenir en tête pour le double bracket :
- Ceux qui perdent en winner vont en looser
- Le looser bracket comporte des étapes intermediaires (qui sont les collectes des perdants du winner bracket)
- le dernier match est la confrontation du joueur restant du winner bracket, contre le joueur restant du looser bracket
Un bracket de 8 joueurs
1 er tour : 4 winners 4 loosers
2ème tour winner : 2 winners, 2 loosers
2ème tour looser : 2 winners, 2 loosers + 2 nouveaux entrants
ça devrait t'aider :)