Generador procedural de mazmorras con fog of war y sistema de vistas isométricas

- Generador procedural que crea hasta 10 salas aleatorias conectadas por puertas
- Sistema de fog of war: solo se muestran salas visitadas
- Puertas automáticas entre salas con detección de transición
- 0-2 esqueletos aleatorios por sala
- Sistema de vistas NSEW con UI de compás
- 4 vistas isométricas fijas (Norte, Sur, Este, Oeste)
- Zoom y paneo habilitados, rotación deshabilitada
- Paredes con opacidad diferenciada (N/W opacas, S/E semi-transparentes)
- Validación de movimiento: solo celdas transitables
- Centrado automático de cámara al mover personaje
This commit is contained in:
2025-12-21 00:19:59 +01:00
parent 8da82f4150
commit 38960df5d9
9 changed files with 1206 additions and 183 deletions

View File

@@ -12,7 +12,8 @@ body {
place-items: center;
min-width: 320px;
min-height: 100vh;
overflow: hidden; /* Evitar scrollbars por el canvas */
overflow: hidden;
/* Evitar scrollbars por el canvas */
}
#app {
@@ -23,3 +24,64 @@ body {
canvas {
display: block;
}
/* Compass UI */
#compass {
position: fixed;
top: 20px;
right: 20px;
width: 100px;
height: 100px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr;
gap: 2px;
z-index: 1000;
}
.compass-btn {
background: rgba(50, 50, 50, 0.8);
border: 2px solid rgba(255, 255, 255, 0.3);
color: rgba(255, 255, 255, 0.6);
font-size: 18px;
font-weight: bold;
cursor: pointer;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
user-select: none;
}
.compass-btn:hover {
background: rgba(70, 70, 70, 0.9);
border-color: rgba(255, 255, 255, 0.5);
color: rgba(255, 255, 255, 0.8);
}
.compass-btn.active {
background: rgba(255, 200, 0, 0.9);
border-color: rgba(255, 220, 0, 1);
color: rgba(0, 0, 0, 1);
box-shadow: 0 0 15px rgba(255, 200, 0, 0.6);
}
#compass-n {
grid-column: 2;
grid-row: 1;
}
#compass-s {
grid-column: 2;
grid-row: 3;
}
#compass-e {
grid-column: 3;
grid-row: 2;
}
#compass-w {
grid-column: 1;
grid-row: 2;
}