Files
WarhammerQuest/Reglas/Resumen_Implementado.md
2025-12-30 23:24:58 +01:00

49 lines
2.4 KiB
Markdown

# 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.*