-
Tableau de tournoi
Bonjour
J'ai déjà chercher sur le forum et sur le web mais sans véritable succès, je m'adresse donc à vous pour la demande suivante.
Savez vous si il existe un moyen de générer des tableaux de compétition (sous formes d'arbre) de façon automatique en indiquant le nombre de participant?
Ou alors quelqu'un aurait t il une idée de départ.
Je travail sous Visual Studio 2010 et .NET 4
Merci de votre attention.
-
Salut
Voila se que je peux te dire:
Un petit retour sur le Tableau des scores.
Ce que j'ai essayé de vous montrer est : Selon le bout par lequel on prend un problème, il peut être extrêmement difficile à résoudre, comme extrêmement facile.
Plus concrètement, exprimer la position x,y des cases dans l'absolu est une horreur, mais en relatif c'est très simple :
Soit :
- nTours : le nombre de tours du tournoi
- (i,j) : la numérotation des cases, (0, 0) étant la première en haut à gauche, et (nTour, 0) la case du vainqueur (une case par joueur)
- ev et eh les espacements verticaux et horizontaux
Alors :
- nJoueurs = 2^nTours
- x
x(i, j) = eh*(i+1)
- y
La position des cases de la première colonne :
y(0, j) = ev*(j+1)
La position des autres cases (si i>0) :
y(i, j) = ( y(i-1, j*2) + y(i-1, j*2+1) ) / 2 (moyenne de la position des cases mères)
Il s'agit ici d'une récursivité, c'est une construction particulière qui peut-être très efficace dans certains cas (comme ici).
Et c'est tout... Si vous mettez ça comme il faut dans des méthodes et en faisant les deux bonne boucles, vous positionnerez tout bien comme il faut sans aucun effort !
Juste pour arriver là, il fallait : prendre le nombre de tours plutôt que le nombre de joueurs, et les espacements entres les cases plutôt qu'un positionnement absolu (ce qui revenait au même au final, mais en faisant mal à la tête à lors que là c'est clair - si c'est pas le cas, testez sur du papier).
http://i.imgur.com/7RPOI.jpg
PS: y a des beug, ça ne marche pa trés bien. Je doit aussi réaliser un tableaux comme toi.
Cordialement
-
Merci de ton aide
Je vais continuer de chercher un peu sur le net et si jamais je ne trouve rien je m'inspirerai de ton code.
Je posterais le résultat définitif si jamais quelqu'un en a besoin.
-
Derien,
Oui ça m’intéresse si tu peux poster ton code.
-
Bonjour
Je reprend mon projet laissé en plan depuis pas mal de temps.
Pour avoir vos avis sur comment commencer.
Pour le moment je pensais créer une classe rectangle contenant les informations de base:
X
Y
Widht
Height
Name
Ensuite j'aimerais pouvoir les placer sous formes d'arbre comme un tableau de compétition
Image représentative de ce que je souhaite trouvée sur google:
http://a34.idata.over-blog.com/500x3...tabl_sport.JPG
Mais comment procéder? avec une picture box? des layers?
J'aimerais développer quelque chose de générique et assez souple au modification pour éventuellement faire profiter mon travail a tout le monde.
Merci de votre aide
-
1 pièce(s) jointe(s)
salut
beh un truc dans ce genre (voir pièce jointe)...
2 propriétés pour le controle (fait en 10 minutes à peine) :
- Tour (nbre de tour à afficher)
- Joueur (nbre de joueur)
J'ai ajouter l'affichage des lignes de recoupement...
Manque plus qu'à faire la gestion du texte (graphics.DrawString) et d'ajouter
eventuellement la création d'un dictionnaire "Région / Case" pour permettre
de cliquer dedans facilement...
Avantage d'un tel controle : beaucoup moins lourd en terme de performance qu'un tableau de TextBox ou autre...
-
Merci pour ton aide, c'est exactement ce que je souhaite.
Hier j'étais bien partie mais je commençai à galérer au niveau du dessin des traits. Je vais voir pour améliorer ton code au maximum et je posterai de nouveau
(redimensionnement automatique, modification des noms etc...)
Encore merci pour ton aide