L'utilisation de JavaScript / jQuery pour générer fixtures
-
12-09-2019 - |
Question
Je prépare un outil pour un collègue qui permet de créer une liste de montage agréable. Je suis arrivé environ 2/3 à travers l'outil, la collecte de diverses données ... puis je frappe un mur de briques. Il est moins d'un problème Javascript et plus d'un math / traitement brainblock.
Disons que j'ai 4 équipes, et ils ont tous besoin de jouer les uns les autres à la maison et loin. Grâce à cet outil - http://www.fixturelist.com/ - Je peux voir que la maison et loin match avec 4 équipes prendrait 6 semaines / tours / whatever. Pour la vie de moi, cependant, je ne peux pas travailler sur la façon qui a été programme a fonctionné.
Quelqu'un peut-il expliquer la logique de traiter ce sujet?
Pour info, je voudrais utiliser cet outil existant, mais il y a d'autres facteurs / caractéristiques que je dois travailler, faire donc un travail personnalisé. Si seulement je pouvais comprendre comment représenter cette logique!
La solution
Dans votre exemple de 4 équipes, les appeler a, b, c et d:
- un doit jouer b, c, d
- b doit jouer c, d (match contre déjà inclus dans les jeux a)
- c doit jouer d (match contre déjà inclus dans les jeux a, contre b déjà inclus dans les jeux de b)
S'ils ont besoin pour jouer à la maison et loin, c'est 12 jeux. Vous pouvez jouer au plus 4/2 = 2 jeux par semaine, de sorte que est de 6 semaines.
Avec des équipes de n
vous avez besoin jeux x
, où:
x = ((n-1 + n-2 + n-3 ...) * 2)
Cela prend des semaines y
, où:
y = x/(n/2) = 2x/n
Cela peut être simplifié avec une série arithmétique assez facilement, ou calculée avec une boucle si vous voulez.