Pac-Man Hunt é uma reinterpretação multiplayer competitiva do clássico Pac-Man, sendo totalmente desenvolvido em Python. O jogo permite que múltiplos jogadores se conectem simultaneamente assumindo o papel de um dos Fantasmas (Blinky, Pinky, Inky e Clyde) em uma caçada ao Pac-Man, que é controlado pelo servidor.
- Linguagem: Python 3.10+
- Renderização: PyGame (Client-side)
- Rede: Módulo
socket(TCP/IP),threading,structepickle.
- Python 3.10 ou superior
- pip (gerenciador de pacotes Python)
- Clone o repositório
git clone https://github.com/codevinni/pacman-hunt.git
cd pacman-hunt- Crie um ambiente virtual (recomendado)
python -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate- Instale as dependências
pip install -r client/client_requirements.txt- Verifique os IPs
Defina o IP e porta do servidor no arquivo server/settings.json e certifique-se que o mesmo endereço esteja configurado no arquivo client/settings.json
{
"network": {
"ip": "127.0.0.1",
"port": 8888,
"timeout": null
}
}- Inicie o servidor
Execute a partir da raiz do projeto:
python3 -m server.main- Inicie os clientes
Execute a partir da raiz do projeto:
# Jogador 1
python -m client.main
# Jogador 2... N
python -m client.main
...Ao entrar, você assume o controle de um fantasma. Trabalhe em equipe para impedir o Pac-Man.
| Tecla | Ação |
|---|---|
↑ ↓ ← → |
Movimentação |
F11 |
Alternar tela cheia |
P |
Pausar/Menu |
ESC |
Sair do jogo |
- Fim de Partida: Assim que houver um vencedor (Pac-Man ou Fantasmas), o jogo exibe a tela de vitória e reinicia automaticamente após alguns segundos. Não é necessário fechar o cliente.
- Reset de Servidor: Se todos os jogadores se desconectarem, o servidor reseta o estado do jogo, aguardando novas conexões.
Projeto desenvolvido para a disciplina de Sistemas Distribuídos.
Vinícius (Líder) - Arquitetura, Networking e Manutenção
Hugo - Movimentação e Networking
Pedro Nunes - Renderização e Interface
Pedro Cota - Inteligência artificial do Pac-Man e Áudio
Tainara - Mapa/Matriz e Lógica