# Resumen de Reglas Implementadas

Este documento detalla las reglas del juego de mesa **Warhammer Quest** que han sido traducidas a código en el motor actual.

## 1. Generación de Mazmorra

### El Mazo de Mazmorra (`DungeonDeck.js`)
El mazo define la duración y estructura de la misión. Se ha implementado la siguiente lógica de construcción:
*   **Total de Cartas**: Se usan **13 cartas** para una partida estándar.
*   **Composición**:
    *   Se mezclan cartas de *Habitación de Mazmorra* y *Pasillos* (Rectos, Esquinas, T, Escaleras).
*   **La Habitación Objetivo**:
    *   El mazo se divide en dos mitades.
    *   La carta de *Habitación Objetivo* se baraja **únicamente en las 6 últimas cartas**.
    *   Esto garantiza que el objetivo no aparezca demasiado pronto, forzando una exploración mínima.

### Colocación de Baldosas (`DungeonGenerator.js` & `GridSystem.js`)
*   **Flujo**:
    1.  Se revela una carta del mazo.
    2.  Se intenta colocar la baldosa correspondiente en una "Salida Abierta" existente.
    3.  **Validación**: Si la nueva baldosa choca con una existente (superposición), se descarta y se intenta otra salida o se descarta la carta (según reglas de "callejón sin salida").
*   **Conexiones**:
    *   Las baldosas se conectan "puerta con puerta" (o "borde con borde").
    *   El motor alinea automáticamente la entrada de la nueva baldosa con la salida de la anterior.

## 2. Tipos de Baldosas (`TileDefinitions.js`)

Se han definido las siguientes piezas con sus reglas de movimiento y conexión:

### Pasillos (Corridors)
*   **Pasillo Recto**: 2 casillas de ancho. Conexión frontal y trasera.
*   **Esquina (Corner)**: Giro en L.
*   **Intersección T (T-Junction)**: Permite bifurcar el camino.
*   **Escaleras**: Cuentan como pasillo, pero visualmente distintas.

### Habitaciones (Rooms)
*   **Habitación de Mazmorra**: 4x4 casillas.
    *   Solo tiene 2 accesos enfrentados (Norte y Sur). Es una sala de paso.
*   **Habitación Objetivo**: 4x8 casillas (Grande).
    *   Es el final de la misión. Solo tiene 1 entrada.

## 3. Misiones (`MissionConfig.js`)
Actualmente soportamos:
*   **Tipo ESCAPE**: El objetivo es encontrar la salida.
*   **Configuración**: Se define un número mínimo de baldosas antes de que pueda aparecer el objetivo (gestionado por el mazo).

---
*Nota: Este sistema es agnóstico a la visualización. La lógica de reglas ocurre en memoria antes de pintarse en 3D.*
