Aide pour Gestion de tournoi

Aide pour Gestion de tournoi - SQL/NoSQL - Programmation

Marsh Posté le 10-03-2005 à 14:06:08    

Bonjour,
Je n’ai pas de script à débugguer à vous proposer, mais juste quelques conseils pour le moment :)
Je place ma question dans la rubrique sql car je pense que les requêtes vont me poser des soucis.
Je fais tout ceci à mes heures perdues, juste pour le plaisir d’apprendre plus encore, et rendre l’objectif ci-dessous plus simple et agréable à vivre !
 
Au boulot j’aimerais organiser un tournoi de billard (1 contre 1 avec élimination directe en 1 partie)
Je devrais donc récupérer tous les inscrits ‘nom et prénom’.
Je devrais aussi récupérer leurs périodes de libre, afin que les premiers tours se passent entre personnes libres en même temps (par créneau de 30 minutes : De 08h à 17h30).
Il faudrait donc que la personne coche en face des heures (pour faire simple on va faire 08h, 08h30, 09h, 09h30 etc…).
Donc la personne coche ses choix (ce qui correspond à l’heure de départ de sa demi-heure de libre)
Il faut également y associer les jours (une personne libre le mardi de 13h30 à 14h, ne le sera peut-être pas le jeudi).
 
Je verrais le formulaire d’inscription comme ça :
 
http://blueteen.info/images_distantes/hardwarefr/billard_form.png
 
A la limite, je pense nommer/reconnaître ces checkbox par : L08, L0830, L09, L0930, M14, M1630, etc…
 
Dans la base mysql, il y aurait un indicateur qui permet de savoir si la personne est en course pour le tour suivant.
Ainsi lors de la saisie des résultats, cette variable serait renseignée (automatiquement en fonction du résultat) et permettrait de savoir si une personne fera partie ou non du prochain tirage au sort.
 
Ensuite, je voudrais que le script fasse le tirage au sort parmi les inscrits.
En tenant donc compte des jours et des heures de disponibilités.
 
Ce qui donnerait donc un tableau avec des rencontres (1 contre 1) où je pourrais saisir le résultat (cocher le gagnant par exemple)
 
Ainsi une fois le premier tour effectué, je relance un tirage au sort parmi les gagnants, et ainsi de suite, jusqu’à la finale.
 
Je ne demande pas bien entendu, qu’on me fasse ce script, mais juste d’éventuelles remarques, idées ou pièges à éviter, dans la réalisation.
Pour la première partie, qui concerne la saisie des inscriptions, je pense arriver à faire quelque chose.
Les premiers maux de tête arrivent avec le tirage au sort, et l’analyse des requêtes !
Je continue de réfléchir :)
Au pire si on m'annonce que c'est un travail titanesque, je prendrai la bonne vieille méthode de la main innocente et du papier, mais ce qui posera toujours souci, ce sera de faire coincider les plages libres de participants.
Merci d’avance !

Reply

Marsh Posté le 10-03-2005 à 14:06:08   

Reply

Marsh Posté le 10-03-2005 à 14:28:56    

prend un chapeau avec des bouts de billets et fait tout à la main

Reply

Marsh Posté le 10-03-2005 à 14:42:49    

j'ai juste un grand saladier ça ira ? ;)
bon tant pis merci quand même

Reply

Marsh Posté le 10-03-2005 à 15:00:24    

plus sérieusement, c'est le genre de problème très difficile à gérer. (problème d'horaire, de prof et de classe)

Reply

Marsh Posté le 10-03-2005 à 15:09:29    

pour ça que j'appelais à l'aide :)
c'est clair qu'avec toutes ces contraintes :/
(j'ai regardé pour 'détourner' de son usage, notre programme de gestion d'emploi du temps, mais bof...
merci :)
il existe déjà des modules pour phpnuke ou d'autres scripts de championnats, mais cette contrainte de 'périodes' n'est existante nulle part malheureusement !

Reply

Marsh Posté le 10-03-2005 à 15:25:47    

http://www.sportpro.ch/PagesHTML/excompet.html
là il y a un fichier filemaker fournit, je vais voir si on peut lire les sources pour voir son analyse.

Reply

Marsh Posté le 10-03-2005 à 16:21:34    

bon rien à faire.
je vais aborder ça autrement
je vais demander aux personnes de s'inscrire dans des plages horaires prédéfinies par moi-même (je leur demande donc de choisir leur plage préférée)
de cette façon, j'aurai juste un tirage à faire, par plage horaire.

Reply

Marsh Posté le 10-03-2005 à 17:31:05    

bon je vais peut-être avoir moyen de bidouiller avec un logiciel de vie scolaire !
j'ai testé avec les profs et leurs emplois du temps et j'arrive à sortir la liste des profs qui ont cours en même temps, à une heure donnée, un jour donné !
le plus dur est fait dans ce cas.
j'aurai juste à faire le tirage au sort, j'utiliserai tout de même un formulaire, avec un champs contenant quelle période est choisie pour eux.
de cette façon, je lancerai simplement plusieurs tirages au sort, en me basant sur la période indiquée dans leur profil (suis-je clair, rien n'est moins sûr, mais je me comprends :D
ça me laisse juste rentrer cette période à la main, pour chaque élève avant chaque tirage, mais bon c'est mieux que rien !


Message édité par blueteen le 10-03-2005 à 17:31:34
Reply

Marsh Posté le 15-03-2005 à 15:58:09    

bon j'aborde ça autrement. le programme en question n'était pas si bien finalement, trop de trucs à faire à la main.
j'ai fait un formulaire qui récupère notamment leur 2*1 heure de temps libre (les inscrits coche les 2 cases horaires préférées).
je regrouperai avec une requête, tous les inscrits sur leur première heure préférée.
puis un autre regroupement indépendant sur leur 2ème heure.
je ferai un pointage à la main. (ça ira il n'y a pas 2000 inscrits)
si je vois que personne n'est orphelin suite à ces regroupements, j'attribuerai des numéros de groupe (un champ 'groupe_1er_match' est créé à cet effet), et une requête fera un tirage au sort pour les parties, à l'intérieur de chaque groupe.
j'ai un champs 'joue_second_match' qui sera renseigné, pour me permettre de savoir qui reste en course, et je reprendrai mes regroupements (quitte à leur demander d'indiquer des plages libres complémentaires).
un jour peut-être j'arriverai à tout automatiser !
merci de me soutenir dans mon quasi-monologue :D


Message édité par blueteen le 15-03-2005 à 16:00:15
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed