Sphinx ─ O Jogo
Projeto criado para demonstrar o uso da computação distribuída usando a linguagem Python.
Empregando a tecnologia RPC (remote procedure call) para intermediar a comunicação entre o servidor e os clientes, a cada partida um ditado popular será aleatoriamente sorteado. O jogador deverá tentar decifrar qual é a frase, escolhendo uma letra por vez.
Porém, há uma condição: ou o jogador desvenda o ditado antes de cometer 5 erros, ou a esfinge irá devorá-lo.
Projeto open source, com seu código-fonte integral disponível no GitHub.
Ficha Técnica
Categoria | Projeto Cliente-Servidor |
Sub-categoria | Desafio de Programação ─ Game |
Tecnologias |
|
Código-Fonte | GitHub |
Autor | Eduardo Stuart |
Sobre o projeto
Idealizado com o objetivo de demonstrar algumas técnicas da computação distribuída, usando a linguagem Python.
Estrutura do projeto
Usando a arquitetura cliente-servidor, o projeto, apresenta a seguinte estrutura:
- O cliente
- É ativado pelo jogador
- Apresenta graficamente ao jogador o objetivo da partida, que consiste em tentar adivinhar um provérbio famoso, escolhido aleatoriamente pelo servidor
- O servidor
- Pode estar hospedado em uma máquina da rede local ou na internet
- Pode receber uma grande quantidade de acessos simultâneos
- Fica encarregado de receber as requisições dos clientes e respondè-las apropriadamente, considerando o tipo de soliitação ou a etapa em que o jogo se encontra
Destaques do projeto
- Interamente desenvolvido usando a linguagem Python, versão 3.6
- Tem como objetivo demonstrar como é possível criar uma solução cliente-servidor usando o Python
- Todos os algoritmos necessários para uma boa realização das partidas estão fartamente comentados
- O servidor é capaz de responder a inúmeras requisições simultâneas de diversos clientes
- O cliente possui uma interface gráfica desenvolvida usando a biblioteca Tkinter
- O servidor exibe no terminal cada uma das requisições feitas, incluindo mensagens de estado e outras informações pertinentes ao projeto
Como executá-lo?
Por ter sido desenvolvido em Python, não é preciso compilar os arquivos que integram o projeto Sphinx. No entanto, será preciso instalar, via PIP, as dependências para que o projeto possa ser executado ─ como as bibliotecas Tkinter, RPYC, etc.
Todas as instruções, que são bastante simples de serem seguidas, podem ser obtidas no manual de instruções (arquivo PDF, com 3.8MB de tamanho.)