Connect Four es una implementación profesional del clásico juego de 4 en raya, desarrollada en Python usando Pygame. Este proyecto combina programación modular, animaciones, inteligencia artificial y una interfaz moderna minimalista, ideal para demostrar habilidades en desarrollo de juegos y lógica de IA.
- Interfaz minimalista con animaciones suaves.
- Modos de juego:
- Player vs Player (local)
- Player vs AI con tres niveles de dificultad.
- IA avanzada:
- Algoritmo Minimax con Alfa-Beta Pruning.
- Heurística que evalúa probabilidades de ganar y bloquea al oponente.
- Niveles de dificultad: Easy (aleatorio), Medium (profundidad 3), Hard (profundidad 5).
- Pantalla de inicio y selección de dificultad interactiva.
- Botón “Restart” dentro de la ventana para iniciar una nueva partida sin cerrar la aplicación.
- Arquitectura modular:
- board.py: lógica del tablero y reinicio de partidas.
- game.py: control de turnos y detección de ganador.
- ai.py: inteligencia artificial con Minimax.
- ui.py: interfaz Pygame, animaciones y gestión de eventos.
-
Clonar el repositorio:
git clone <URL_DEL_REPOSITORIO> cd connect-four
-
Instalar dependencias:
pip install pygame
-
Ejecutar el juego:
python -m src.ui
La IA utiliza el algoritmo Minimax con Alfa-Beta Pruning, simulando posibles movimientos y evaluando los resultados para elegir la mejor jugada.
- Evaluación de tablero:
- 4 en línea propia → +100
- 3 en línea con espacio libre → +5
- 2 en línea con espacios libres → +2
- Bloqueo de 3 en línea del oponente → -4
- Profundidad según dificultad:
- Easy → 1 (aleatorio)
- Medium → 3
- Hard → 5 (estrategia avanzada)
- Animaciones suaves de fichas cayendo.
- Mensajes claros de turno, ganador o empate.
- Menús interactivos para seleccionar modo y dificultad.
- Botón “Restart” disponible para reiniciar partidas.
- Demostrar habilidades en Python y Pygame.
- Implementar algoritmos de IA con Minimax y heurística.
- Crear interfaces con PyGame.
- Mantener código modular, limpio y escalable.
Menú de inicio:
Pantalla de juego: