Ich erstelle eine HTML/JS-basierte Single/Double-Elimination-Bracket-Web-App. Ich habe Schwierigkeiten herauszufinden, wie ich die Erstrunden-Matches aus einer Liste von gesetzten Teams/Spielern zuweisen kann. Zum Beispiel, in einem K.-o.-System von 8 Spielern, sind die Erstrunden-Matches:
1v8 4v5 2v7 3v6
In allgemeineren Begriffen können die gesetzten Teams als ein Array betrachtet werden (da ich Teams den Matches zuweise, indem ich sie aus einem Array herausnehme): 1,2,3,4,5,6,7,8
was sortiert werden muss zu: 1,8,4,5,2,7,3,6
Zur Klarstellung, die höheren gesetzten Teams müssen den maximalen Abstand zwischen sich im sortierten Array haben, dies geschieht, damit in einem Bracket ohne Überraschungen die niedrigeren gesetzten Teams zuerst ausscheiden und Matches mit den höheren gesetzten Teams so spät wie möglich stattfinden. In praktischen Begriffen, denken Sie an ein Tennisturnier, bei dem Sie verhindern möchten, dass die top 4 Spieler in einem K.-o.-System von 16 oder 32 etc. bis zum Halbfinale gegeneinander antreten. Also, die richtige Array-Ausgabe für ein 16 gesetztes Bracket ist:
1,16,8,9,4,13,5,12,2,15,7,10,3,14,6,11
was folgende 1. Rundenmatches übersetzt:
1v16 8v9 4v13 5v12 2v15 7v10 3v14 6v11
Danke an Matt Ball für den richtigen Algorithmus für ein 8 gesetztes Bracket
0 Stimmen
Also die Reihenfolge der Paare spielt tatsächlich eine Rolle, ist das richtig?