Juego clásico de la serpiente implementado con Pygame y refactorizado en módulos.
- Movimiento de la serpiente en una cuadrícula.
- Comida aleatoria evitando superponer la serpiente.
- Puntuación por comida ingerida.
- Guardado de récord en
high_score.json(en la raíz del proyecto). - Pantalla de Game Over con opciones: Reiniciar (R) o Salir (Q).
- Menú de selección de dificultad (Fácil/Normal/Difícil).
- Sonidos: inicio, comer y game over (silenciar con M).
- Música de fondo opcional (
assets/sounds/music.wav), se detiene en Game Over.
- Python 3.11+ (recomendado)
- Pygame (se instala con
requirements.txt)
- Clona o descarga el proyecto.
- Abre una terminal en la carpeta del proyecto:
cd "C:\Users\tomye\Tareas Rolling-IA Codeboost\Snake-cursor"
- Crea y activa un entorno virtual (elige CMD o PowerShell):
CMD:
py -m venv .venv
\.venv\Scripts\activate.bat
PowerShell (si tu política lo permite):
py -m venv .venv
\.venv\Scripts\Activate.ps1
Si PowerShell bloquea scripts, usa CMD o establece una política temporal en esa sesión:
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
\.venv\Scripts\Activate.ps1
- Instala dependencias:
pip install -r requirements.txt
python main.py
- Flechas: mover la serpiente
- P: pausar/reanudar juego
- R: reiniciar en Game Over
- Q: salir en Game Over
- M: silenciar/activar sonidos
- +/=: subir volumen
- -: bajar volumen
Snake-cursor/
game/
__init__.py
config.py # Constantes (tamaño, colores, tick rate, ruta récord)
snake.py # Lógica de la serpiente
food.py # Lógica de la comida
ui.py # Renderizado y pantalla de Game Over
core.py # Bucle principal y récord
main.py # Punto de entrada
requirements.txt # Dependencias
pyproject.toml # Configuración black/isort/ruff/mypy
README.md
high_score.json # (se crea automáticamente al superar un récord)
assets/
sounds/
eat.wav # (agrégalo tú)
game_over.wav # (agrégalo tú)
start.wav # (agrégalo tú)
music.wav # (opcional, música de fondo)
- El récord se carga al iniciar y se guarda al finalizar si superas el máximo.
- Formato:
{"high_score": 12}
- Se incluye
pyproject.tomlcon configuración para black, isort, ruff y mypy. - Opcional: puedes ejecutar tus herramientas locales si las tienes instaladas.
- PowerShell bloquea la activación del entorno (
PSSecurityException):- Opción rápida: usa CMD con
\.venv\Scripts\activate.bat. - O temporal en PowerShell:
Set-ExecutionPolicy Bypass -Scope Processy luego activa el venv.
- Opción rápida: usa CMD con
- Pygame no se instala: verifica tu versión de Python y vuelve a
pip install -r requirements.txt.
Uso libre para fines educativos.