Commençons par écrire quelle est l'idée : recevoir un ensemble d'équipes et rendre le tableau avec tous les matchs entre ces équipes, les dates des matchs et notre "optimisation", qui vise à réduire le nombre de déplacements entre les équipes.
Considérant le résultat, nous devons avoir en entrée non seulement le nom de l'équipe, mais également d'autres données :
- votre localisation, afin que nous puissions planifier des voyages ;
- Le modèle du championnat : seront-ils des équipes dans un seul groupe, comme le Brasileirão ? Ou s'agira-t-il d'équipes réparties en plusieurs groupes, comme la Coupe du monde ?
- Le championnat sera-t-il rond, un tour unique, ou un modèle mixte, comme la Ligue des Champions, où malgré un groupe unique, tout le monde ne joue pas contre tout le monde ?
- S'il y a une division en groupes, est-ce nous qui tirerons au sort quelle équipe appartient à chaque groupe ou l'utilisateur l'a-t-il déjà défini ? Donnons la possibilité à l'utilisateur ;
- L'utilisateur souhaite-t-il vraiment un tableau "optimisé" ?. C'est peut-être juste le championnat de la copropriété, n'est-ce pas ? Offrons à l'utilisateur la possibilité de créer un tableau simple ou optimisé, d'accord ?
- Combien de matchs pouvons-nous programmer par jour ?
et quel est l'intervalle de repos qu'une équipe doit avoir entre un match et un autre ?
Et le nom du championnat, bien sûr.
Remarque : A ce stade, dans un projet réel, nous devrions obtenir ces exigences du client.
Compte tenu des informations ci-dessus, nous pouvons en déduire que les entrées de notre système seront :
Entrées :
- Un ensemble d'équipes et leurs emplacements
- la forme du championnat (combien de tours y aura-t-il entre les équipes d'un même groupe ? Et contre les équipes d'autres groupes ? En effet, y aura-t-il une répartition en groupes ?
- S'il y a répartition en groupes, est-ce nous qui ferons le tirage au sort ou recevrons-nous les groupes déjà définis ?
- L'utilisateur souhaite-t-il un tableau optimisé ? Oui ou non ?
- Total de jeux autorisés par jour
- Jours de repos qu'une équipe doit avoir entre un match et un autre;
- Et le nom du championnat.
Et le résultat sera :
- Le nom du championnat
- Les groupes (ou le groupe, s'il n'en est qu'un)
- Le tableau des jeux, contenant tous les jeux avec leurs dates respectives
Ici, vous pouvez imaginer deux JSON, un avec les données d'entrée et l'autre avec les données de sortie, n'est-ce pas ?
Et, pour chaque sujet, tu peux déjà imaginer un objet, ok ?
Et comme les objets nous amènent toujours à parler de classes, nous en sommes déjà très proches... Le code.
Sujets du prochain texte. On continue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!