Du bist hier:
Startseite
Themen
Spielplan generieren
PHP: Spielplan generieren
Dokument-Version: 30. Juli 2008
Autor: Andy Theiler andy.theiler@x3m.ch
Download
Es stehen 2 verschiedene Realisierungen zur Verfügung:
Als abstrakte Klasse PHP5 (Version 1.0.01): x3m_schedule_class.zip
oder als Funktion ab PHP4 (Version 1.0.01): x3m_schedule_fnc.zip
Anforderung
Einen Spielplan (zB. Spielpaarungen für eine Fussballliga mit Hin- und Rückrunde) generieren.
Eigentlich eine einfache Anforderung. Hab' ich auch gemeint! Trotz stundenlangen Analysen und diversen Skizzen ist es mir nicht gelungen, ein allgemein gültiges Muster zu erkennen. Zu meiner Entlastung sei zu bemerken, dass ich kein Mathematiker bin.
Um so fröhlicher war ich, als ich beim "googlen" auf die Webseite: Algorithmus der Woche gestossen bin. Dank dem Kantenfärbungs Algorithmus von Juniorprof. Dr. Sigrid Knust konnte ich mein Vorhaben doch noch realisieren.
Beschreibung der PHP5 Realisierung
Der Aufruf der statischen Methode create() erstellt gemäss Parameter (Anzahl Teams, mit oder ohne Rückrunde...etc.) den gewünschten Spielplan.
Spielplan erstellen
| PARAMETER | BESCHREIBUNG | |
|---|---|---|
| $intTeams | Anzahl Teams (Spieler) | |
| $intStartDate | Datum der 1. Paarung | |
| $intDayOffset | Tage zwischen den Spielpaarungen | |
| $blnSecondRound | true (default) = mit Rückrunde false = Paarungen nur für die Vorrunde |
Der erstellte Spielplan wird als Array() geliefert mit folgender Struktur:
Spielplan Array (
[1] => Spieltag 1 (
[0] => Paarung 1 (
[h] => 1 = Heimmannschaft 1
[a] => 4 = Auswärtsmannschaft 4
)
[1] => Paarung 2 (
[h] => 2 = Heimmannschaft 2
[a] => 3 = Auswärtsmannschaft 3
)
[datum] => 20070611 = Datum Spieltag
)
[2] => Spieltag 2 (
[0] => Paarung 1 (
:
)
[1] => Paarung 2 (
:
)
[datum] => 20070618 = Datum Spieltag
)
:
)
Beispiel
Spielplan für 4 Mannschaften generieren (mit Rückrunde):
Dieses Beispiel gibt folgende HTML-Seite aus: