Fußballliga-Generator

  • Wenn man ausreichend Ahnung hat, kann man Alles. Das ist die Definition von "ausreichend Ahnung haben". ;)
    Ich vermute daher, dass du meinst, ob wer mit ausreichend Ahnung das auch darf. Und ja, man darf auch. Ich erlaube hiermit jedem, der sich dazu in der Lage fühlt, jede bislang veröffentlichte (und soweit keine andere Mitteilung folgt (was nicht geplant ist) auch jede zukünftige) Version zu bearbeiten, wobei ich mich freuen würde, wenn bei für das Gesamtsystem nützlichen Änderungen (wie Bereicherung von Funktionen) man die veränderte Version auch hier unter den selben Bedingungen veröffentlichen könnte, damit alle etwas davon haben. Dies ist allerdings nicht verpflichtend.

  • Ich habe noch kleinen fehler festegestellt, wenn man editiert sind die Umlaute HTML-Codiert und ändert Sie nicht wieder um in ä,ö usw. wenn man es wieder absendet.


    Danke. Zum fixen des Bugs muss Zeile 925 des Skripts (

    PHP
    $formulatext[] = '                <input type="text"  name="team' . $i . '" size="15" maxlength="50" value="' . htmlentities($this->list_of_names[$i-1]) . '"><br />';


    ) durch

    PHP
    $formulatext[] = '                <input type="text"  name="team' . $i . '" size="15" maxlength="50" value="' . $this->list_of_names[$i-1] . '"><br />';


    ersetzt werden, also das "htmlentities(" und das ")" nach "$this->list_of_names[$i-1]" entfernt werden. Für die Leute, die das nicht selbst machen können/wollen habe ich die Pakete von oben mal aktualisiert. Speicherstände müssen nicht aktualisiert werden…


    Als Input für eventuelle Programmierversuche und als Ersatz für die lausige Kommentierung meinerseits: Zur Bearbeitung der Punkte für Sieg/Unentschieden muss die team->getPoints()-Methode bearbeitet werden, zur Bearbeitung der Tore pro Spiel die league->play(). Ersteres wird auf jeden Fall irgendwann in die league verschoben werden, da dort ohnehin die gesamten Spiele im league->results-Array gespeichert sind. Dies würde es auch ermöglichen eine neue Saison mit den selben Teams weiterzuführen (ohne die Team-Klassen bearbeiten zu müssen). Es muss zudem bei einem Wechsel der Sportarten auch der gespeicherte Spielstand neu geladen werden, da im Moment die gesamten team-Objekte gespeichert werden (mittels serialize(), in der list->writeData()-Methode). Dies wird noch bearbeitet, da 1. ohnehin bereits geplant ist, die Speicherstände zu überarbeiten (s.o.), 2. die serialize()-Funktion in bestimmten php-Versionen fehleranfällig sein soll und 3. jegliche(!) Veränderung der team-Objekte die Löschung und Neuerstellung des gesamten Speicher-Prozesses einfordert.
    Außerdem überlege ich, ob es nicht vielleicht sinnvoll wäre in diesem Rahmen auch gleich die league->loadData()- und league->writeData()-Methoden aufzusplitten, damit nur der jeweils notwendige Teil geladen und gespeichert wird. (Im Moment wird bei jedem neuen Spieltag nicht nur die Ergebnisse jedesmal neu abgespeichert, sondern auch Passwort inkl. Salt, die Tage zur Generierung der einzelnen Spieltage und einiges mehr.)


    Es ist also noch einiges geplant, weshalb ich für Ideen von fähigen Leuten sehr dankbar wäre.

  • Zunächst einmal ein riesiges Kompliment für den Erfindungsreichtum und den Einsatz bei der Erstellung dieses Programms! Nachdem ich einen Testlauf durchgeführt habe, möchte ich einige kleinere Änderungen vorschlagen, um das System für den "operativen Dienst" etwas besser einsetzbar zu machen:


    - Anstatt den Spieltagsabstand in Tagen festzulegen, würde ich feste Wochentage einstellbar machen. Dadurch dass die Woche eben sieben Tage hat, rutschen die Spieltage ansonsten durch sie hindurch (z. B. bei drei Tagen Abstand: Samstag - Dienstag - Freitag - Montag - Donnerstag - Sonntag usw.).
    - In das gleiche Horn bläst auch der zweite Vorschlag: Einstellbarkeit von festen Uhrzeiten der Ergebnisbekanntgabe.


    Beides würde die Nutzbarkeit in der Ausgestaltung samt beispw. Vor- und Nachberichten erheblich vereinfachen. Und dass es oft 0:0 hieß, lassen wir mal außen vor. Das kann Zufall bei meinem Testlauf gewesen sein. ;)

  • Nein, "Das Teil is man voll Fett alter" "Bomben Ding bro" "boar das ist so heiß da wird er mir gleich steif" oder aber "Mein Gott krass alter ich glaub net was für Weltscheiße geil das ist das ist so Hurensohn heftig das muss ich haben" sind so jetzt der Jugendliche style.

    • AsaiCorp wenn sie es wollen können wir es Bauen.
    • AC Sie brauchen es wir haben es, egal ob Krise oder Katastrophe AsaiCorp ist Allzeit bereit.
    • AC Weil Sie und ihre Familie und die Zukunft uns Wichtig sind Produzieren wir ohne Fossiliebrennstoffe.
    • AC Sie benötigen Soldaten oder einen Wachdienst ? Auch da kann AsaiCorp helfen.
    • AsaiCorp wir sind immer für Sie Da.


  • Ähm ähm ähm genau?

    • AsaiCorp wenn sie es wollen können wir es Bauen.
    • AC Sie brauchen es wir haben es, egal ob Krise oder Katastrophe AsaiCorp ist Allzeit bereit.
    • AC Weil Sie und ihre Familie und die Zukunft uns Wichtig sind Produzieren wir ohne Fossiliebrennstoffe.
    • AC Sie benötigen Soldaten oder einen Wachdienst ? Auch da kann AsaiCorp helfen.
    • AsaiCorp wir sind immer für Sie Da.


  • Ich find das Tool auch voll klasse *sagt das die Jugend noch so * ??.


    Knorke :D

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • Bei mir kommt dieser Fehler:


    PHP
    Fatal error: Call to undefined method DateTime::add() in [...]/soccer_league/soccer_league.php on line 480


    Edit: Hat sich gerade erledigt, die .htacces-Datei darf nicht auf 5.2 verweisen, sondern nur auf 5, also:


    PHP
    AddHandler php5-cgi .php

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

    Einmal editiert, zuletzt von Hendrik Wegland ()

  • Nach eifrigem Herumgebastle ist eine neue Version, die Version 0.1.0 draußen. nebst vielen Änderungen unter der Haube wurden auch einige andere Dinge eingefügt:


    Die Daten, sowohl die vom Benutzer eingegebenen als auch die generierten, müssen noch einmal gründlich überarbeitet werden, damit die gespeicherten Daten 1. leichter editierbar 2. besser vor Download geschützt und 3. besser vor ungewollter Bearbeitung geschützt sind.


    Ist erledigt. I.B. die Passwort-Sicherheit wurde ein wenig verbessert. Alle vom Programm benötigten und erstellten Dateien befinden sich im "soccer-data"-Verzeichnis. Aus diesem Grunde werden auch Speicherstände von alten Versionen eiskalt ignoriert und es wird empfohlen diese zu löschen. ;). Allerdings, ist das folgende (noch) nicht implementiert:


    Nur als Denkanstoss:
    Du könntest doch mögliche Namen(steile) in eine *.txt dabei packen, die könnte dann jeder manuell bearbeiten. Nur weil ich gerade Sachen wie "name_Athletik" und "name_Kickers" gesehen habe.
    Also z.B. zwei txt Dateien eine mit Stadtnamen des Landes und in die andere packt man Sachen wie Athletiko, Turbo und was weiss ich rein.


    Dafür kann jetzt jeder in der "league.data"-Datei des Unterverzeichnisses ohne größere Probleme die Zahlen eintragen, um die Liga an andere Sportarten anzupassen.
    Ferner wurde auch das folgende implementiert:

    - In das gleiche Horn bläst auch der zweite Vorschlag: Einstellbarkeit von festen Uhrzeiten der Ergebnisbekanntgabe.



    Zunächst einmal ein riesiges Kompliment für den Erfindungsreichtum und den Einsatz bei der Erstellung dieses Programms! Nachdem ich einen Testlauf durchgeführt habe, möchte ich einige kleinere Änderungen vorschlagen, um das System für den "operativen Dienst" etwas besser einsetzbar zu machen:


    - Anstatt den Spieltagsabstand in Tagen festzulegen, würde ich feste Wochentage einstellbar machen. Dadurch dass die Woche eben sieben Tage hat, rutschen die Spieltage ansonsten durch sie hindurch (z. B. bei drei Tagen Abstand: Samstag - Dienstag - Freitag - Montag - Donnerstag - Sonntag usw.).


    Ich habe es jetzt ermöglicht, dass der Spieltagsabstand auch in Wochen einstellbar ist. Zusammen mit einer Festlegung des Starttags ist eine solche Planung dann möglich. Ich habe jedoch zusätzlich das bisherige System der Spieltagseinstellung beibehalten, damit auch Nationen mit alternativen Kalendersystemen und möglicherweise anderen "Wochen"-Dauern eine Liga haben, deren Spieltagsabstände an den ihrigen Kalender angepasst sind. Allerdings werde ich die Datumseinstellungsmöglichkeiten vllt. trotzdem irgendwann und irgendwie modifizieren, da diese im Moment sehr unhandlich sind.


    Ferner habe ich eine Lizenz-Datei hinzugefügt, so dass das Ganze jetzt offiziell unter der CC0-Lizenz steht. Außerdem steht jetzt nur noch eine 0 vorne in der Versionsnummer. Jeder kann die Software also kostenfrei nutzen, verändern und weiterverbreiten, ohne zu fragen.


    Bei mir kommt dieser Fehler:
    Edit: Hat sich gerade erledigt, die .htacces-Datei darf nicht auf 5.2 verweisen, sondern nur auf 5, also:

    PHP
    AddHandler php5-cgi .php


    Danke für die Information. Da auf meinem Testserver php5.3 läuft, kann es bei älteren Versionen zu Fehlern kommen.


    Last but not least: Vielen Dank an Alle für die Lorbeeren. Und ich suche immer noch einen Namen für die Software. Aber das hat Zeit. Viel Spaß beim Fehler finden! Gute Nacht! :)

  • Ich hätte noch eine Verbesserung:


    Ich hatte mal testweise ne Liga mit 16 Teams angelegt und dafür 10 Städte eingetragen. Es resultierte darin, dass manche Orte doppelt und dreifach vertreten waren und mache gar nicht.


    Es wäre schön schön, wenn alle Städte berücksichtigt werden, die man angibt. Macht aber natürlich nur Sinn, wenn die Anzahl der Städte <= Anzahl der Teams ist.

    "Ist es denn wirklich so, dass wir jeden Dreck, der vom Westen kommt, nu kopieren müssen? Ich denke, Genossen, mit der Monotonie des OIK-Bashings, und wie das alles heißt, ja, sollte man doch Schluss machen" Walter Albrecht

  • SuperSache, ich kann es leider erst Montag bzw die nächste Woche richtig testen. Aber bisher klingt alles super.


    2. Was mir aufgefallen, wie auchschon anderen vieel 0:0 und ein "exotisches" Ergebnis auch kaum dabei, also meistens die gleichen Ergebnisse. Könnte man da eventl. noch was drehen?

  • Ich hätte noch eine Verbesserung:


    Ich hatte mal testweise ne Liga mit 16 Teams angelegt und dafür 10 Städte eingetragen. Es resultierte darin, dass manche Orte doppelt und dreifach vertreten waren und mache gar nicht.


    Es wäre schön schön, wenn alle Städte berücksichtigt werden, die man angibt. Macht aber natürlich nur Sinn, wenn die Anzahl der Städte <= Anzahl der Teams ist.


    Die Orte werden zufällig ausgewählt, wobei auch die angegebene Ortsgröße berücksichtigt wird. (genauer gesagt: Es wird eine Liste erstellt. in der 8-(angegebene Größe auf Skala von 0-7)x jeder Ort vertreten ist. Aus dieser Liste wird dann der Ort für die Mannschaft zufällig ausgewählt.) Das Verhalten war also auch mehr oder weniger so geplant. Aber du hast recht, es ist möglicherweise nicht so sinnvoll/toll. Ich werde mir mal Gedanken darüber machen, wie ich das ändere. Alternativer (nicht besonders toller) Workaround für bisherige Versionen ist auf jeden Fall, zunächst eine Liga erstellen zu lassen und dann manuell die Mannschaftsnamen im Admin-Login-Bereich anzupassen (oder gleich beim ersten Generieren fertige Vereinsnamen anzugeben. Diese werden nämlich, solange sie in ihrer Anzahl <= der Anzahl der erstellten Teams sind in jedem Fall berücksichtigt.)


    SuperSache, ich kann es leider erst Montag bzw die nächste Woche richtig testen. Aber bisher klingt alles super.


    2. Was mir aufgefallen, wie auchschon anderen vieel 0:0 und ein "exotisches" Ergebnis auch kaum dabei, also meistens die gleichen Ergebnisse. Könnte man da eventl. noch was drehen?


    Nun, sooo selten ist ein 0:0 im RL-Fußball auch nicht. Aber allgemein gesagt/zu den exotischen Ergebnissen: Die Anzahl maximaler Tore/Spiel (und Mannschaft) ist momentan auf 5 festgelegt, wodurch nur sehr selten 6 Tore erzielt werden können, 7+ Tore gar nicht. Du kannst ja mal den entstprechenden Wert in der league.data erhöhen und schauen, was passiert. Aber ich werde auch trotzdem noch mal schauen, an welchen Rädern im Code ich drehen kann…

  • So, ich habe jetzt die Ergebnisgenerierung ein wenig überarbeitet und die Gelegenheit genutzt, um die Tabelle ein wenig zu überarbeiten. Die Überarbeitung des ACP (Verbesserung der Übersichtlichkeit und der Einstellung des Datums, Auslagerung der Namensbestandteile, Auswahl der Orte) folgt als nächstes. Geplant ist, im Anschluss eine Möglichkeit zur Erweiterung auf mehrere Spielzeiten zu bauen.