Automatisierte Spielplanerstellung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Automatisierte Spielplanerstellung

Beitrag von Sanchez17 »

Hallo an alle :-)

ich habe da ein kleines Denkproblem.
Wir wollen bald unseren Benutztern ein kleines Spiel anbieten.
Wir legen vorallem auc darauf Wert, dass dieses Spiel keine große zusätzliche Belastung ist (von der Verwalung her).

Mitlerweile habe ich Lösungen gefunden, um alles automatisiert zu machen.
Ledeglich eine "Spielplan" müsste man noch manuell erstellen.
Und gerade hier müsste man am meisten Arbeiten :-?

Daher wäre es schön, wenn der Server einen Spielplan erstellen könnte. Nur fehlt mir bis jetzt einfach keine technische Lösung ein.
Vielleicht kann man mir hier ja jemand helfen.

Es gibt eine Tabelle in der Datenbank, die Mannschaften enthält sowie eine Tabelle, die die Spieltage enthält (also nur eine Spieltags-Id, Datum des Spieltages)


Nun müsste es eine Funktion/ Datei geben, die die Mannschaften "rausnimmt" und per Zufall ein Spielplan erstellt wer wann gegen wem spielt.

Hätte da jemand eine Idee wie man dies technisch Lösen könnte?

Mein Lösungsansatz:
Ein Script nimmt sich nacheinander immer ein Spieltag aus der Spieltagtabelle raus. Dann nimmt er sich per rand() zufällig immer ein Heimteam und per rand() ein Auswärtsteam.
In den nachfolgenden Spiele des gleichen Spieltags wird nach rand() dann überprüft, ob dieser Verein schon in diesem Spieltag vertreten ist oder ob diese Spielkombination (also Tam YX vs Team UI) schon gab. Wenn eines von den beiden, wählt er per rand() ein neues Team aus usw bis er den Spieltag fertig hat.

Dann folgt der nächse Spiel etc.

Achja, die Spiele werden dann in einer Spieletabelle eingetragen mit den Infos:

id|spieltag_id|team_home|team_away|

Das ist leider noch nicht getestet (geschweige programmiert).

Hat jemand vielleicht noch eine andre/ bessere Idee dies zu verwirklichen?

Grüße,
Michél
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Meine Idee wäre die folgende: Es wird ein fester Spielplan für die gewünschte Anzahl an Mannschaften generiert und statt den mit wechselnden Mannschaften immer wieder neu zu generieren erstellt man den für "Zahlen" anstelle von Mannschaften, sprich anonym. Dann braucht man nur noch den Zahlen Mannschaften zuweisen und schon hat man den Spielplan (wobei man den Spielplan natürlich speichert um ihn beim nächsten mal mit anderen Teams weiter zu verwenden).

Den Spielplan selbst würde ich dann rekursiv erstellen lassen, sprich ein Skript erstellt erst mal Begegnungen (1 vs 2, 3 vs 4, 5 vs 6, 7 vs 8, ...) und schaut dann jedes mal ob jeder an einem Spieltag spielt und ob es die Begegnung schon mal gab. Wenn ja geht es durch die Rekursion wieder zurück und probiert eine andere Kombination.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag von Sanchez17 »

Hey das ist ne gute Idee!

Vielen Dank.

Das werde ich dann ma die Tage verwirklichen :-)
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Cool. Könntest du mir das Skript evtl. am Ende zukommen lassen? Ich hatte sowas auch schon mal irgendwann vor, aber da es wichtigere Dinge gibt kommt man da dann meist doch nicht zu.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Benutzeravatar
Sanchez17
Mitglied
Beiträge: 913
Registriert: 10.12.2005 22:21
Wohnort: Moers / Sevilla
Kontaktdaten:

Beitrag von Sanchez17 »

Klar kann ich machen. Wegen Klausuren (Abitur) usw kann es aber noch ne Weile dauern.

Hab übrigens gestern was nützlichen gefunden:
http://www.phpbuilder.com/board/showthr ... t=10300945

Man gibt die Anzahl der Teams an und die function gibt ein Spielplan mit Zahlen zurück. Ein brauchbarer Code, den man nur für seine Bedürfnisse ändern muss.
Viva el betís, mi amor :-)
Wir gehn voran, als euer zwölfter Mann, scheiß egal wie weit, ob Sturm oder Schnee, MSV Duisburg oé
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

So wie die Funktion hatte ich mir das ungefähr vorgestellt....
Tja gibt halt alles schon irgendwo.

Danke für den Link.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „Coding & Technik“