Webanwendung, die erfordert, dass auf einem Computer ein lokaler Server ausgeführt wird. Spieler können sich dann registrieren, anmelden und eine Verbindung zum Hauptspiel herstellen. Spieler können dann ihre Informationen auf dem Hauptgerät (einem Gerät, um allen Benutzern die Indexseite anzuzeigen) sowie auf ihrem eigenen Gerät (vorzugsweise einem mobilen Gerät) anzeigen und gegeneinander Gebote abgeben.
Getestet mit:
PHP 7.0.8
mit PHPUnit 5.7.4
zum Ausführen der TestfälleComposer 1.00-beta2
MySQL 5.7.4
Apache 2.4.18
Dabei wird davon ausgegangen, dass Sie alle Programme heruntergeladen/ausgeführt haben, und es wird nicht mit Composer und PHPUnit durchgegangen
Alle Schemata befinden sich im Verzeichnis MySQL/
.
So fügen Sie das Schema hinzu (vorausgesetzt, Sie befinden sich im richtigen Verzeichnis):
mysql < MySQL/schema.sql
Chip Manager hängt stark von Ihrer Konfigurationsdatei mit dem Namen config.ini
ab, die Sie erstellen und im Stammverzeichnis speichern sollten
Die Grundstruktur der Konfigurationsdatei sieht in etwa so aus
[database]
username = username
password = password
server = server_address
database = database_name
[information]
address = local_address
logfile = log_file
Sie sollten jede der Variablen ersetzen, damit sie zu Ihrem Setup passt.
Auf der Indexseite werden alle Spieler aufgelistet, die gerade spielen (durch Abfrage ihres Verbindungsstatus) und zusammen mit ihren aktuellen Informationen (z. B. ihrem aktuellen Gebot/Gesamtzahl der Chips).
play.php
kümmert sich um die Client-Seite des Spiels und ermöglicht es den Spielern, über einen mobilfreundlichen Web-Client zu spielen. Dies ist der Android-App sehr ähnlich, sodass der Wechsel zwischen beiden kein Problem darstellen sollte
Am Spieltisch wird ein Hauptbildschirm angezeigt, auf dem die Seite index.php
angezeigt wird.
Die Spieler greifen dann mit ihren eigenen Geräten auf den Server zu, auf dem das Spiel läuft, registrieren sich mit register.php
, melden sich mit login.php
an und werden dann zu play.php
weitergeleitet, wo sie Gebote abgeben und am Spiel teilnehmen können.
Wenn Spieler Gebote abgeben, werden ihre Informationen auf dem Hauptbildschirm angezeigt. Wenn ein Spieler gewinnt, werden durch Klicken auf „Spieler hat gewonnen“ alle gebotenen Chips an diesen Spieler übertragen.
Die API-Aufrufe sind für externe Anwendungen (z. B. die Android-App) sowie für die Nutzung einiger grundlegender Spielaufgaben gedacht.
Jede PHP-Datei gibt 3 Parameter in Form von JSON zurück:
Name | Beschreibung | Immer präsent |
---|---|---|
Fehler | Wenn eine Fehlermeldung vorliegt, wird eine Zeichenfolgenbeschreibung zurückgegeben. Andernfalls wird 0 zurückgegeben | WAHR |
Erfolg | Ob die Transaktion erfolgreich war oder nicht (0 oder 1) | WAHR |
Daten | Die zurückgegebenen Daten. Wird oft Unterebenen von JSON haben. | FALSCH |
API-Aufrufe, die sich auf das laufende Spiel auswirken oder Informationen über das aktuelle Spiel abrufen. Diese werden im Verzeichnis api/game
gespeichert.
Ruft alle IDs der verbundenen Spieler in einem Array unter data['players']
ab.
Erhalten Sie alle Informationen zu verbundenen Spielern, einschließlich:
Die Spielerinformationen werden unter data['players']
gespeichert.
Meldet den Player anhand der Kombination aus Benutzername und Passwort an und stellt den Player als verbunden ein.
Erfordert zwei POST
Parameter:
username
– Benutzername des Spielers zum Anmeldenpassword
– Passwort zur Verifizierung des Players Teilen Sie dem Spiel mit, dass der Spieler das aktuelle Spiel gewonnen hat. Sie erhalten alle Chips, die alle Spieler geboten haben.
Erfordert einen GET
oder POST
Parameter:
ID
– Die ID des Gewinners Zur Überprüfung werden die ID des Gewinners unter data['winner']
und der Betrag, den der Spieler gewonnen hat, unter data['chips_won']
zurückgegeben.
API-Aufrufe, die sich auf den Player auswirken. Erfordert die ID
als GET
oder POST
Parameter.
Gibt ein neues Gebot für den Spieler ab.
Erfordert einen zusätzlichen GET
oder POST
Parameter:
amount
– Der Betrag, den der Spieler setzen möchte Gibt alle Spielerinformationen unter data
zurück
Ruft alle aktuellen Informationen des Benutzers ab.
Akzeptiert einen zusätzlichen optionalen Parameter:
needs_update
– Wenn auf 1
gesetzt, wird geprüft, ob der Player aktualisiert werden muss, bevor Informationen zurückgegeben werden Gibt alle Spielerinformationen unter data
zurück
Setzt das aktuelle Gebot des Spielers auf 0
zurück
Überprüft, ob der Player aktualisiert werden muss. Wenn ja, geben Sie alle Spielerinformationen zurück.
Gibt zurück, ob der Player unter data['needs_update']
aktualisiert wurde, und Informationen über den Player unter data['player']