Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Connect Four - Python

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.


💡 Características principales

  • 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.

🚀 Cómo ejecutar el proyecto

  1. Clonar el repositorio:

    git clone <URL_DEL_REPOSITORIO> cd connect-four

  2. Instalar dependencias:

    pip install pygame

  3. Ejecutar el juego:

    python -m src.ui


🧠 Inteligencia artificial

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)

🎨 Experiencia de usuario

  • 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.

📌 Objetivos del proyecto

  • 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.

🖼️ Visual

Menú de inicio:

image

Pantalla de juego:

image

About

A Python implementation of Connect Four using Pygame, featuring a modern minimalist interface, smooth animations, local and AI gameplay with adjustable difficulty, and a modular code structure.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages