Aplicativo da Web que requer que uma máquina execute um servidor local. Os jogadores podem então registrar-se, fazer login e conectar-se ao jogo principal. Os jogadores podem então ver suas informações no dispositivo principal (um dispositivo para exibir a página de índice para todos os usuários), bem como em seu próprio dispositivo (de preferência um dispositivo móvel) e fazer lances entre si.
Testado usando:
PHP 7.0.8
com PHPUnit 5.7.4
para executar os casos de testeComposer 1.00-beta2
MySQL 5.7.4
Apache 2.4.18
Isso assumirá que você baixou/executou todos os programas e não usará o Composer e o PHPUnit
Todos os esquemas estão localizados no diretor MySQL/
.
Para adicionar o esquema (supondo que você esteja no diretório correto):
mysql < MySQL/schema.sql
O Chip Manager depende muito do seu arquivo de configuração, chamado config.ini
que você deve criar e armazenar no diretório raiz
A estrutura básica do arquivo de configuração é semelhante a
[database]
username = username
password = password
server = server_address
database = database_name
[information]
address = local_address
logfile = log_file
Você deve substituir cada uma das variáveis para corresponder à sua configuração.
A página de índice listará todos que estão jogando no momento (obtendo seu status de conexão) e os listará junto com suas informações atuais (como seu lance atual/total de fichas).
play.php
cuida do lado cliente do jogo e permite que as pessoas joguem por meio de um cliente web compatível com dispositivos móveis. Isso é muito semelhante ao aplicativo Android, então alternar entre os dois não deve ser um problema
Uma tela principal estará presente na mesa de jogo e exibirá a página index.php
.
Os jogadores então usarão seus próprios dispositivos para acessar o servidor que executa o jogo, registrar-se usando register.php
, fazer login usando login.php
e então serão redirecionados para play.php
onde poderão fazer lances e participar do jogo.
À medida que os jogadores fazem lances, suas informações serão mostradas na tela principal. Quando um jogador ganha, clicar em "o jogador ganhou" transferirá todas as fichas de lance para esse jogador.
As chamadas de API são destinadas a aplicativos externos (como o aplicativo Android), bem como ao uso de algumas tarefas básicas do jogo.
Cada arquivo php retorna 3 parâmetros na forma de JSON:
Nome | Descrição | Sempre presente |
---|---|---|
erro | Se houver uma mensagem de erro presente, uma descrição de string será retornada. Caso contrário, 0 será retornado | verdadeiro |
sucesso | Se a transação foi bem-sucedida ou não (0 ou 1) | verdadeiro |
dados | Os dados que foram retornados. Freqüentemente terá subníveis de JSON. | FALSO |
Chamadas de API que afetam o jogo em andamento ou obtêm informações sobre o jogo atual. Eles são armazenados no diretório api/game
.
Obtenha todos os IDs dos jogadores conectados em uma matriz em data['players']
.
Obtenha todas as informações dos jogadores conectados, incluindo:
As informações do jogador são armazenadas em data['players']
.
Efetua login no player com base na combinação de nome de usuário/senha e define o player como conectado.
Requer dois parâmetros POST
:
username
- Nome de usuário do jogador para fazer loginpassword
- Senha para verificar o jogador Informamos ao jogo que o jogador venceu o jogo atual. Eles receberão todas as fichas que todos os jogadores apostaram.
Requer um parâmetro GET
ou POST
:
ID
- O ID do jogador vencedor Para verificação, ele retorna o ID do jogador vencedor em data['winner']
e a quantia que o jogador ganhou em data['chips_won']
.
Chamadas de API que afetam o player. Requer o ID
como parâmetro GET
ou POST
.
Faz um novo lance para o jogador.
Requer um parâmetro GET
ou POST
adicional:
amount
- O valor que o jogador deseja apostar Retorna todas as informações do jogador em data
Obtém todas as informações atuais dos usuários.
Recebe um parâmetro opcional adicional:
needs_update
- Se definido como 1
, irá verificar se o jogador precisa ser atualizado antes de retornar informações Retorna todas as informações do jogador em data
Redefine o lance atual do jogador para 0
Verifica se o player precisa ser atualizado. Se sim, retorne todas as informações do jogador.
Retorna se o player foi atualizado em data['needs_update']
e informações sobre o player em data['player']