Zähltafel - Scoreboard

Fonsi-Heizer

Mitglied
Hallo Leute,

Ich weiß im Moment nicht wo Anfangen - deshalb möchte ich Euch fragen ob Ihr eventuelle Vorlagen oder Tipps habt wie ich folgende Zähltafeln in PHP umsetzen könnte.

Welche Anforderung gibt es:

4 Spielstände mit Anfangswert 0 - wenn ich auf einen +Button drücke soll der Wert bei Spielstand 1 von 0 auf 1 geändert werden bei - von 1 wieder auf 0.
Natürlich kann das auch noch weiter gehen bis z.B. Auf 5 usw.

Ich denke sehr simple, oder?

EDIT: Später wird dann auch noch eine Einlesung und Schreibeaufforderung in eine TXT dazu kommen.

Danke und LG
 
Zuletzt bearbeitet:
Hallo,

Danke für deine Antwort und Frage.
Ja, die Spielstände sollen gespeichert werden.

Hier noch einmal im Detail:

Spieler 1 - Score 0, Spieler 2 - Score 0, Race to 5

+ bei Spieler 1 soll den Score auf 1 erhöhen und den Spielstand in die stand.txt (Beispiel) schreiben.
Die stand.txt kann auch immer wieder eingelesen werden.

Die stand.txt wird ca. Wie folgt aussehen:

Code:
Spieler 1;000;Spieler 2;000;Spieler 3;000;Spieler 4;000;005;

z.b. Ich ändere manuell etwas in der stand.txt bei Spieler 2, sollte dies am Scoring Board genau so eingelesen werden.

Aber das soll erst später dazu kommen - Für das einlesen & speichern der Daten aus der txt Datei, gibt es ja die fopen function, sowie GET und POST befehle.

Also ich denke das folgender Code (gefunden im phpforum) in etwa der Beginn sein könnte:

PHP:
<?
  if (! isset($_POST['submit']))
  {
    $z = 0;
    $m = 1;
    $r = 2;
    $k = 2;
  }
  else
  {
    $z = $_POST['z'] + 1;
    $m = $_POST['m'] + 1;
    $r = $_POST['r'] + 1;
    $k = $_POST['k'] + 1;

  }
  echo "z = $z, m = $m, r = $r k = $k
\n";
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST">
   <input type="hidden" name="z" value="<? echo $z; ?>">
   <input type="hidden" name="m" value="<? echo $m; ?>">
   <input type="hidden" name="r" value="<? echo $r; ?>">
   <input type="hidden" name="k" value="<? echo $k; ?>">
   <input type="Submit" name="submit" value="oK">
</form>

LG
 
Wenn Du von Spielständen sprichst, vermutet man, dass es mehrere Spieler geben kann. Wie soll sich dann das Speichern verhalten, global oder für jeden Spieler getrennt? Wenn das letztere, wird es leider nicht so einfach, denn Du brauchst eine Benutzerverwaltung. Wenn das erstere auch nicht, denn dann müssen die Aktionen eines Spielers auch für die anderen sichtbar werden.
 
Hallo,

Sry für den fälschlichen Ausdruck - Ich meine natürlich immer nur den aktuellen Spielstand abspeichern von den (max. 4) Spielern.

Spielstände meinte ich damit 1:0, 1:2, 4:2 z.B. Deshalb mein Ausdruck.

LG
 
Zuletzt bearbeitet:
Ich verstehe es jetzt so, dass die Spielstände aller vier Spieler in einer Datei gespeichert werden sollen. Wie sollen dann die Spieler identifiziert werden? Man braucht ja irgend eine ID, um sie zu unterscheiden. Es müsste eine minimale Anmeldung geben, etwa in der Form, dass man am Spielbeginn einen Namen eingeben muss.
 
Hallo,

Immer Spieler 1 / Spieler 2 / Spieler 3 / Spieler 4.
An den Namen ändert sich nichts - Das ganze soll für meinem Billardklub eine alternative zu den Holztafeln sein! ;)

Es soll erstens einmal der Spielstand direkt via lokalem Tablet mit Webbrowser eingegeben werden können, optimal wäre natürlich gleiche eine automatische Lösung mit Verbindung von automatischer Synchronisation der Daten aus der .txt Datei. Das bedeutet wenn ich in der .txt Datei etwas ändere, das dies dann auch angezeigt wird. Aber um die Funktion kümmere ich mich später.

LG
 
Ich glaube, jetzt verstehe ich es. Bisher dachte ich, es seien vier Browsersitzungen, für jeden Spieler eine, aber anscheinend willst Du das Ganze auf einer Seite unterbringen.
 
Genau.

Ich kann Dir morgen gerne ein Bild hochladen wie ich es mir in etwa grafisch vorstelle. ;)

Aber grundlegend geht es mir jetzt wie und wo genau anfangen mit dem zählen von Punkten bei betätigen eines Buttons oder Textes.

LG
 
Ich habe mal eine Basisversion für das Hoch- und Runterzählen aufgebaut:
Code:
    <form id="spielstaende">
        <div class="plus plusminus" data-spieler="spieler1" data-aktion="+">+</div>
        <input class="stand" name="spieler1" size="2" value="0">
        <div class="minus plusminus" data-spieler="spieler1" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler2" data-aktion="+">+</div>
        <input class="stand" name="spieler2" size="2" value="0">
        <div class="minus plusminus" data-spieler="spieler2" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler3" data-aktion="+">+</div>
        <input class="stand" name="spieler3" size="2" value="0">
        <div class="minus plusminus" data-spieler="spieler3" data-aktion="-">-</div>
        <div class="plus plusminus" data-spieler="spieler4" data-aktion="+">+</div>
        <input class="stand" name="spieler4" size="2" value="0">
        <div class="minus plusminus" data-spieler="spieler4" data-aktion="-">-</div>
    </form>
    <script>
        $(".plusminus").on("click", function () {
            var aktion = $(this).attr("data-aktion");
            var namespieler = $(this).attr("data-spieler");
            var spieler = $("output[name='" + namespieler + "']");
            var stand = parseInt(spieler.text());
            if (aktion == "+") spieler.text(stand + 1);
            else if (stand != "0") spieler.text(stand - 1);
        });
    </script>
    <style>
        .plusminus {
            display: inline-block;
            font-size: 50px;
        }
        .stand {
            font-size: 50px;
        }
    </style>
Das kannst du dann nach deinen Vorstellungen mit CSS gestalten. Natürlich kannst Du auch Grafiken für + und - verwenden.
Man könnte auch ein input von Typ number verwenden, aber dann lassen sich die + und - Buttons nicht so gut gestalten.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück