Danke Raubtier,
das ist mir schon klar und nun nochmal von Anfang an.
Via HTML werden die Parameter des Turniers eingegeben inkl. eines Dateiupload (UTF8, Text, Muster: "HE1234, Name Vorname, Verein").
Daraus wird dann per
shuffel(shuffel(@spieler));
eine zufällige liste erzeugt, aus der wiederum die Paarungen erzeugt werden per
$sp1 = shift(@spieler);
$sp2 = shift(@spieler);
das ist ja auch kein Hexenwerk!
Dann erfolgt eine Ergebniseingabe via HTML welche dann in die DB geschrieben wird und mit einem passenden SELECT eine Tabelle erzeugt wird.
Anhand dieser Tabelle wird @spieler wieder gefüllt - in der Reihenfolge wie die Spieler in der Tabelle stehen.
Per Definition des Schweizer Systems kann ich nun eben FAST einfach wieder mit shift meine Liste abarbeiten.
Leider eben nicht 100%ig - also baute ich einen Test ein, ob in einer der vorherigen Runden die gefundene Paarung schon gespielt hat.
Wenn ja, dann schieb ich den 2ten Spieler wieder in die Liste (unshift) und hole den darauf folgenden Spieler und teste wieder ... solange bis es eben nach unten passt, aber dabei kann es dann eben zu schon angesprochenem Problem kommen, dass eben zum Schluss nur noch 2 Spieler in der Liste sind, die schon gegeneinander spielten und damit funktioniert das Ganze natürlich nicht mehr ...
Ich bräuchte also so gesehen eine Möglichkeit die Paarungen zu erstellen, anhand der Tabelle und dann, weiterhin anhand der Tabellenplatzierung, so zu verschieben, dass das Schweizer System gewahrt bleibt aber es trotzdem aufgeht...
Da im Schweizer System ja im Normalfall mindestens die selbe Rundenanzahl gespielt werden sollte, wie die nötigen Runden anhand der Teilnehmer eines KO Systems, eigentlich ja 2 mehr, müsste sichergestellt werden, dass eben diese Rundenanzahl auch funktioniert ...
Und im Moment hab ich eben keine Idee, da das eben auch für nicht nur 4, 8 oder 16 Spieler sondern auch für 128 oder mehr laufen soll, wie ich das sicherstellen kann...
Die Modalitäten des Schweizer Systems kenn ich und muss ich dahingehend einhalten, dass eben MINDESTENS die gleiche Anzahl Runden wie im KO System gespielt werden.
Es sollte aber möglich sein, sicher mindestens 2 Runden mehr hinzubekommen.
more (30.7kb)
Last edited: 2016-11-22 11:09:32 +0100 (CET)