Mini Minesweeper Lite GAME
Mini Buscaminas Lite trae el clásico juego de lógica a tu móvil con un distintivo estilo visual Pixel Classic. La mecánica principal es la del Buscaminas tradicional: descubre las casillas seguras, marca las minas y despeja el tablero sin activar explosiones.
**Mecánica de juego**
- Tres niveles de dificultad: Fácil (9×9, 10 minas), Medio (12×12, 20 minas), Difícil (16×16, 40 minas)
- Seguridad al primer toque: tu primera casilla revelada y las 8 adyacentes están libres de minas.
- Las pistas numéricas indican las minas en las 8 casillas circundantes.
- Las casillas vacías expanden automáticamente las áreas seguras adyacentes (relleno por inundación).
- Cambia entre el modo DESCUBRIR (toca para excavar) y el modo MARCAR (toca para marcar).
- Gana al descubrir todas las casillas seguras. Pierde si pisas una mina.
**Objetivos y límites**
- Sin límites de movimientos ni de tiempo: prioriza la precisión sobre la velocidad.
- El cronómetro registra el tiempo transcurrido desde el primer toque.
- Ponte a prueba para superar tu mejor marca personal en cada nivel de dificultad.
- Reintentos ilimitados. Cada partida presenta un tablero nuevo generado aleatoriamente.
**Sistemas de asistencia**
- Consejo: mira un anuncio con recompensa para revelar automáticamente una casilla segura (1 por partida).
- Botones de alternancia de modo en la parte inferior para cambiar entre REVELAR y BANDERA.
- Mantén pulsada cualquier casilla para activar o desactivar la bandera rápidamente sin cambiar de modo.
**Diseño visual: Tema Pixel Classic**
- Esquinas redondeadas de 0 dp (todos los botones y cartas cuadrados).
- Botones biselados 3D con resaltado y sombra.
- Bordes de 2 a 4 dp píxeles en todos los elementos de la interfaz.
- Fuente monoespaciada para números y etiquetas.
- Fondo oscuro (#0D0D0D) con detalles en verde brillante (#00E436).
- Texto en negrita y mayúsculas.
- Iconos emoji (💣 ⏱ 💡 🚩) para un reconocimiento instantáneo.
- Respuesta táctil: los botones 3D se aplanan al pulsarlos.
**Páginas y navegación**
- Inicio: botones de 6 píxeles (JUGAR, (AJUSTES, CÓMO JUGAR, HISTORIAL, ESTADÍSTICAS, LOGROS)
- Actividad del juego: tablero cuadrado centrado, HUD con contadores de minas/temporizador, selector de modo, botón de pistas
- Dificultad: elige Fácil/Medio/Difícil antes de empezar
- Resultado del juego: muestra el tiempo, el mejor tiempo y la insignia de nuevo récord
- Ajustes: activa y desactiva el sonido, la vibración y los efectos retro
- Cómo jugar: 4 tarjetas tutoriales que explican los números, las banderas, los modos y las pistas
- Historial: lista de récords desplazable con botón para borrar todo
- Estadísticas: 11 estadísticas (partidas jugadas, porcentaje de victorias, mejores tiempos, partidas perfectas)
- Logros: 8 logros en una cuadrícula de 2 columnas (PRIMERA VICTORIA, DEMONIO DE LA VELOCIDAD, PERFECCIONISTA, RACHA DE VICTORIAS 3/5, VETERANO, MAESTRO, MODO DIFÍCIL)
- Las páginas secundarias permiten volver a la página de inicio mediante el botón de retroceso de píxeles; La página principal utiliza la función de doble retroceso para salir.
**Notas de UX**
- Navegación multiactividad pura, sin estructura de pestañas inferiores.
- Barra de herramientas Pixel personalizada en todas las páginas secundarias (fondo negro intenso, borde de píxeles verdes de 4 dp en la parte inferior, botón de retroceso 3D con flecha ◀).
- Adaptación de borde a borde para la barra de estado y el área de navegación inferior.
- Cálculo dinámico del tamaño de las celdas para centrar el tablero en la pantalla.
- Confirmación de pausa al salir de una partida activa.
**Integración de anuncios**
- SDK de TradPlus integrado mediante un módulo independiente tradplus-sdk.
- Anuncios con recompensa: Impulso de pista (1 por partida).
- Anuncios intersticiales: Transición de regreso a la pantalla de inicio al finalizar la partida, limitados a 3 por sesión.
- ID de unidades de anuncios configurados en MinesweeperApp.kt y AndroidManifest.xml.
- Recopilación de consentimiento GDPR en el primer inicio.
**Persistencia de datos**
- SharedPreferences + Gson para historial (máximo 100 registros), estadísticas (11 métricas) y logros (8). Desbloqueable), configuración (3 opciones)
- Sin base de datos Room; todos los datos se almacenan como cadenas JSON
- El historial registra la dificultad, el resultado (victoria/derrota), la hora y la fecha
- Las estadísticas incluyen recuentos totales/victorias/derrotas, porcentaje de victorias, mejores tiempos por dificultad, fichas reveladas, banderas colocadas y partidas perfectas
- Los logros se desbloquean automáticamente según los hitos del juego
**Notas técnicas**
- Kotlin
- Diseño XML
- ViewBinding
- Gestión de estado estilo MVVM (LiveData + ViewModel para GameActivity)
- Arquitectura multiactividad
- Persistencia de SharedPreferences (sin Room)
- Java 17
- minSdk 26 / targetSdk 36 / compileSdk 36
- Alineación de páginas de memoria de Android de 16 KB (`useLegacyPackaging = false`)
- Tema Pixel Classic totalmente implementado

