Application Web qui nécessite qu'une machine exécute un serveur local. Les joueurs peuvent ensuite s'inscrire, se connecter et se connecter au jeu principal. Les joueurs peuvent ensuite voir leurs informations sur l'appareil principal (un appareil permettant d'afficher la page d'index à tous les utilisateurs) ainsi que sur leur propre appareil (de préférence un appareil mobile) et placer des enchères les uns contre les autres.
Testé avec :
PHP 7.0.8
avec PHPUnit 5.7.4
pour exécuter les cas de testComposer 1.00-beta2
MySQL 5.7.4
Apache 2.4.18
Cela supposera que vous avez téléchargé/exécuté tous les programmes et que vous n'utiliserez pas Composer et PHPUnit.
Tous les schémas se trouvent dans le directeur MySQL/
.
Pour ajouter le schéma (en supposant que vous soyez dans le bon répertoire) :
mysql < MySQL/schema.sql
Chip Manager dépend beaucoup de votre fichier de configuration, nommé config.ini
que vous devez créer et stocker dans le répertoire racine
La structure de base du fichier de configuration ressemble à
[database]
username = username
password = password
server = server_address
database = database_name
[information]
address = local_address
logfile = log_file
Vous devez remplacer chacune des variables pour qu'elles correspondent à votre configuration.
La page d'index listera tous ceux qui jouent en ce moment (en obtenant leur statut de connexion) et les listera avec leurs informations actuelles (telles que leur enchère actuelle/le total de jetons).
play.php
gère le côté client du jeu et permet aux utilisateurs de jouer via un client Web adapté aux mobiles. Ceci est très similaire à l'application Android, donc basculer entre les deux ne devrait pas poser de problème.
Un écran principal sera présent à la table de jeu et celui-ci affichera la page index.php
.
Les joueurs utiliseront ensuite leurs propres appareils pour accéder au serveur exécutant le jeu, s'inscriront en utilisant register.php
, se connecteront en utilisant login.php
, puis seront redirigés vers play.php
où ils pourront placer des enchères et participer au jeu.
Au fur et à mesure que les joueurs placent des enchères, leurs informations seront affichées sur l'écran principal. Lorsqu'un joueur gagne, cliquer sur "le joueur a gagné" transférera tous les jetons d'enchère à ce joueur.
Les appels API sont destinés aux applications externes (telles que l'application Android) ainsi qu'à l'utilisation de certaines tâches de base du jeu.
Chaque fichier php renvoie 3 paramètres sous forme de JSON :
Nom | Description | Toujours présent |
---|---|---|
erreur | S'il y a un message d'erreur, une description de chaîne sera renvoyée. Sinon, 0 sera renvoyé | VRAI |
succès | Si la transaction a réussi ou non (0 ou 1) | VRAI |
données | Les données qui ont été renvoyées. Aura souvent des sous-niveaux de JSON. | FAUX |
Appels API qui affectent le jeu en cours ou obtiennent des informations sur le jeu en cours. Ceux-ci sont stockés dans le répertoire api/game
.
Récupère tous les identifiants des joueurs connectés dans un tableau sous data['players']
.
Obtenez toutes les informations sur les joueurs connectés, notamment :
Les informations sur le joueur sont stockées sous data['players']
.
Connecte le lecteur en fonction de la combinaison nom d'utilisateur/mot de passe et définit le lecteur comme connecté.
Nécessite deux paramètres POST
:
username
- Nom d'utilisateur du joueur pour se connecterpassword
- Mot de passe pour vérifier le joueur Faites savoir au jeu que le joueur a gagné la partie en cours. Ils recevront tous les jetons que tous les joueurs ont misés.
Nécessite un paramètre GET
ou POST
:
ID
- L'identifiant des joueurs gagnants Pour vérification, il renvoie l'identifiant du joueur gagnant sous data['winner']
et le montant que le joueur a gagné sous data['chips_won']
.
Appels API qui affectent le lecteur. Nécessite l' ID
en tant que paramètre GET
ou POST
.
Place une nouvelle enchère pour le joueur.
Nécessite un paramètre GET
ou POST
supplémentaire :
amount
- Le montant que le joueur veut parier Renvoie toutes les informations sur le joueur sous data
Obtient toutes les informations actuelles des utilisateurs.
Prend un paramètre facultatif supplémentaire :
needs_update
- Si défini sur 1
, vérifiera si le lecteur doit être mis à jour avant de renvoyer les informations Renvoie toutes les informations sur le joueur sous data
Réinitialise l'enchère actuelle du joueur à 0
Vérifie si le lecteur doit être mis à jour. Si tel est le cas, renvoyez toutes les informations sur le joueur.
Renvoie si le lecteur a été mis à jour sous data['needs_update']
et des informations sur le lecteur sous data['player']