# 🎲 Gestor de Torneos de Juegos de Mesa

Sistema de gestión de torneos eliminatorios para eventos de juegos de mesa,
desarrollado en **C++** con **Qt Widgets**.


## 🗂️ Estructura del Proyecto

```
TorneoMesa/
├── TorneoMesa.pro          ← Archivo de proyecto Qt
├── include/
│   ├── Jugador.h           ← Entidad: participante del torneo
│   ├── Partida.h           ← Entidad: enfrentamiento 1 vs 1
│   ├── Ronda.h             ← Entidad: fase del torneo
│   ├── Torneo.h            ← Clase abstracta + subclases concretas
│   ├── TorneoFactory.h     ← Fábrica de torneos (Factory Method)
│   ├── MainWindow.h        ← Ventana principal
│   ├── DialogNuevoTorneo.h ← Diálogo creación de torneo
│   ├── DialogAgregarJugador.h
│   ├── WidgetBracket.h     ← Dibuja el bracket con QPainter
│   ├── WidgetJugadores.h   ← Tabla de participantes
│   └── WidgetResultados.h  ← Historial con HTML
└── src/
    ├── main.cpp
    ├── Jugador.cpp
    ├── Partida.cpp
    ├── Ronda.cpp
    ├── Torneo.cpp
    ├── TorneoFactory.cpp
    ├── MainWindow.cpp
    ├── DialogNuevoTorneo.cpp
    ├── DialogAgregarJugador.cpp
    ├── WidgetBracket.cpp
    ├── WidgetJugadores.cpp
    └── WidgetResultados.cpp
```

---

## 🚀 Compilación e Instalación

### Requisitos
- **Qt 5.12+** o **Qt 6.x** (con módulos: Core, Gui, Widgets)
- **CMake 3.16+** o **qmake**
- **Compilador C++17**: GCC 8+, Clang 7+, MSVC 2017+

### Compilación desde el archivo `.pro`

```bash
# Linux/macOS
qmake TorneoMesa.pro      # o qmake6 TorneoMesa.pro
make

# Windows (Qt + MinGW)
qmake TorneoMesa.pro
mingw32-make
```

### Ejecución

```bash
# Linux/macOS
./TorneoMesa

# Windows
TorneoMesa.exe
```

### Con Qt Creator (IDE)
1. Abrir `TorneoMesa.pro` con Qt Creator
2. Seleccionar kit de compilación (Qt 5/6 + compilador)
3. `Ctrl+R` para compilar y ejecutar

---
