Uma plataforma modular para jogos Python que combina a diversão dos jogos clássicos com uma arquitetura moderna e expansível.
- Menu principal interativo
- Sistema de pontuação global e individual
- Troca de tema claro/escuro
- Interface responsiva e moderna
- Sistema de plugins para novos jogos
- Gerenciamento de estados e saves
- Backend Flask para multiplayer
- Sistema de ranking online
- API REST para integrações
- Múltiplos pontos de acesso:
- Local:
http://localhost:PORTA
- Rede:
http://SEU-IP:PORTA
- DNS Local:
http://SEU-COMPUTADOR.local:PORTA
- Local:
- Pause: P ou Espaço
- Menu: M ou ESC
- Tema: T
- Reiniciar: R
- Controles com setas direcionais
- Modos de dificuldade
- Power-ups especiais
- Ranking local e online
- Sistema de rotação intuitivo
- Preview da próxima peça
- Sistema de hold piece
- Modos de jogo variados
jogos-python/
├── server/
│ ├── app.py # Servidor Flask
│ ├── routes.py # Rotas da API
│ └── database.py # Gerenciamento de dados
├── core/
│ ├── game_manager.py # Gerenciador de jogos
│ ├── state.py # Gerenciamento de estado
│ └── events.py # Sistema de eventos
├── ui/
│ ├── menu.py # Menu principal
│ ├── theme.py # Sistema de temas
│ └── components/ # Componentes reutilizáveis
├── games/
│ ├── base.py # Classe base para jogos
│ ├── snake/
│ │ ├── main.py
│ │ └── assets/
│ └── tetris/
│ ├── main.py
│ ├── blocks.py
│ └── assets/
└── utils/
├── config.py # Configurações
└── helpers.py # Funções auxiliares
- Python 3.8 ou superior
- pip (gerenciador de pacotes Python)
- Para MacOS: XQuartz (opcional)
# Clone o repositório
git clone https://github.com/maisumcode/jogos-python.git
# Instale as dependências
pip install -r requirements.txt
# Para MacOS (opcional)
brew install --cask xquartz
# Inicia o servidor Flask com interface web
python server/app.py
O servidor irá:
- Encontrar uma porta livre automaticamente
- Mostrar as URLs de acesso:
- Local:
http://localhost:PORTA
- Rede Local:
http://SEU-IP:PORTA
- Nome Amigável:
http://SEU-COMPUTADOR.local:PORTA
- Local:
- Abrir o navegador automaticamente
O servidor possui duas formas de recarregar alterações feitas no código:
-
Recarregamento Automático (Ativado por padrão)
- O servidor detecta alterações nos arquivos
- Recarrega automaticamente quando você salva um arquivo
- Útil durante o desenvolvimento
- Algumas alterações podem requerer reinício manual
-
Reinício Manual (Se necessário)
- Pare o servidor atual (Ctrl+C)
- Inicie novamente com:
python server/app.py
# Para jogar Snake
python games/snake/main.py
# Para jogar Tetris
python games/tetris/main.py
- Crie uma nova pasta em
games/
- Implemente a classe base
GamePlugin
- Adicione assets e configurações
- Registre o jogo no
game_manager.py
from core.base import GamePlugin
class NewGame(GamePlugin):
def __init__(self):
super().__init__(
name="Novo Jogo",
version="1.0.0",
author="Seu Nome"
)
GET /api/games
- Lista jogos disponíveisGET /api/scores
- Ranking globalPOST /api/scores
- Registra nova pontuaçãoGET /api/players
- Lista jogadores online
Versão atual: 1.0.0
- Fork o projeto
- Crie sua branch (
git checkout -b feature/NovoJogo
) - Commit suas mudanças (
git commit -m 'Adiciona novo jogo'
) - Push para a branch (
git push origin feature/NovoJogo
) - Abra um Pull Request
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.