Um motor, servidor, cliente e visualizador para jogar Boku feito em Python 3.
Nota: o Jupyter Notebook está deprecado.
- Python 3
- Flask
- Flask-SocketIO
pip install -r requirements.txt
./python server.py
Use um navegador para acessar o endereço http://localhost:8080/visualizador.html
.
Um cliente que faz jogadas aleatórias está disponível (random_client.py
). Para utilizá-lo, rode o servidor e execute o cliente passando como parâmetro o número do jogador (1 ou 2). Pode-se rodar dois clientes simultâneamente, cada um com um número de jogador.
A API ainda está em desenvolvimento. Estão disponíveis funcionalidades básicas, que são acessadas por http.
/jogador
. Retorna o número do jogador de quem é a vez de jogar. Retorna 0 se o jogo acabou e o oponente venceu./tabuleiro
. Retorna o estado atual do tabuleiro, na forma de lista de listas. Cada lista representa uma coluna. O valor0
representa um espaço vazio, enquanto1
representa o primeiro jogador e2
representa os segundo jogador./move?player=X&coluna=C&linha=L
. Coloca uma peça do jogador X na coluna C e linha L. Retorna uma tupla(erro, msg)
. Seerro<0
,msg
conterá o erro ocorrido. Seerro==0
, o movimento feito encerrou o jogo e o cliente venceu./reiniciar
. Reinicia o jogo, limpando o tabuleiro./ultima_jogada
. Retorna a posição da última jogada realizada (coluna, linha)./movimentos
. Retorna uma lista de posições válidas (coluna,linha) onde o jogador atual pode colocar uma peça (ou remover uma peça do adversário)./num_movimentos
. Retorna o número de movimentos realizados desde o início do jogo.