Веб-приложение, для которого требуется, чтобы на одном компьютере работал локальный сервер. Затем игроки могут зарегистрироваться, войти в систему и подключиться к основной игре. Затем игроки смогут видеть свою информацию на основном устройстве (устройстве для отображения индексной страницы всем пользователям), а также на своем собственном устройстве (предпочтительно мобильном устройстве) и делать ставки друг против друга.
Протестировано с использованием:
PHP 7.0.8
с PHPUnit 5.7.4
для запуска тестовых случаевComposer 1.00-beta2
MySQL 5.7.4
Apache 2.4.18
Предполагается, что у вас загружены/запущены все программы, и вы не будете использовать Composer и PHPUnit.
Все схемы расположены в директории MySQL/
.
Чтобы добавить схему (при условии, что вы находитесь в правильном каталоге):
mysql < MySQL/schema.sql
Chip Manager во многом зависит от вашего файла конфигурации с именем config.ini
, который вы должны создать и сохранить в корневом каталоге.
Базовая структура файла конфигурации выглядит примерно так:
[database]
username = username
password = password
server = server_address
database = database_name
[information]
address = local_address
logfile = log_file
Вам следует заменить каждую переменную в соответствии с вашей настройкой.
На индексной странице будут перечислены все, кто играет в данный момент (с указанием статуса их соединения), а также их текущая информация (например, их текущая ставка/общее количество фишек).
play.php
обрабатывает клиентскую часть игры и позволяет людям играть через веб-клиент, удобный для мобильных устройств. Это очень похоже на приложение для Android, поэтому переключение между ними не должно быть проблемой.
Рядом с игровым столом появится главный экран, на котором будет отображаться страница index.php
.
Затем игроки будут использовать свои собственные устройства для доступа к серверу, на котором запущена игра, зарегистрироваться с помощью register.php
, войти в систему с помощью login.php
, а затем будут перенаправлены на play.php
, где они смогут делать ставки и участвовать в игре.
Когда игроки делают ставки, их информация будет отображаться на главном экране. Когда игрок выигрывает, нажатие кнопки «Игрок выиграл» передаст все фишки ставок этому игроку.
Вызовы API предназначены для внешних приложений (таких как приложение Android), а также для использования некоторых основных игровых задач.
Каждый php-файл возвращает 3 параметра в форме JSON:
Имя | Описание | Всегда присутствует |
---|---|---|
ошибка | Если присутствует сообщение об ошибке, будет возвращено строковое описание. В противном случае будет возвращено 0. | истинный |
успех | Была ли транзакция успешной или нет (0 или 1) | истинный |
данные | Данные, которые были возвращены. Часто будет иметь подуровни JSON. | ЛОЖЬ |
Вызовы API, которые влияют на ход игры или получают информацию о текущей игре. Они хранятся в каталоге api/game
.
Получите идентификаторы всех подключенных игроков в массиве data['players']
.
Получите всю информацию о подключенных игроках, включая:
Информация об игроке хранится в data['players']
.
Выполняет вход в плеер на основе комбинации имени пользователя и пароля и устанавливает плеер как подключенный.
Требуется два параметра POST
:
username
- Имя пользователя игрока для входа в систему.password
- Пароль для проверки игрока Сообщим игре, что игрок выиграл текущую игру. Они получат все фишки, предложенные всеми игроками.
Требуется один параметр GET
или POST
:
ID
- ID победившего игрока Для проверки он возвращает идентификатор победившего игрока в data['winner']
и сумму, которую игрок выиграл в data['chips_won']
.
Вызовы API, влияющие на плеер. Требуется ID
в качестве параметра GET
или POST
.
Делает новую ставку для игрока.
Требуется дополнительный параметр GET
или POST
:
amount
— сумма, которую игрок хочет поставить. Возвращает всю информацию об игроке в data
Получает всю текущую информацию о пользователях.
Принимает дополнительный необязательный параметр:
needs_update
— если установлено значение 1
, перед возвратом информации будет проверено, нужно ли обновить проигрыватель. Возвращает всю информацию об игроке в data
Сбрасывает текущую ставку игрока на 0
Проверяет, нуждается ли плеер в обновлении. Если да, верните всю информацию об игроке.
Возвращает информацию о том, был ли игрок обновлен в data['needs_update']
и информацию об игроке в data['player']