Loading repository data…
Loading repository data…
Joellesglez / repository
Este repositorio simula un parque encantado dividido en salas, donde se aprende conceptos clave de Kotlin.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
🏰 Escape Room POO en Kotlin — Parque Encantado
Bienvenido/a al Escape Room de Programación Orientada a Objetos (POO) en Kotlin. Este proyecto simula un parque encantado dividido en salas, donde irás aprendiendo y demostrando conceptos clave de Kotlin: data class, herencia, polimorfismo y sobreescritura de métodos.
🚀 Cómo ejecutar el proyecto
JDK 17+
IntelliJ IDEA (recomendado) o cualquier IDE con soporte para Kotlin.
Gradle (ya está configurado, pero puedes usar el wrapper de IntelliJ).
Clona o descomprime el proyecto.
Abre la carpeta escape-room-kotlin en IntelliJ IDEA → Open as Project.
Espera a que Gradle sincronice dependencias.
Abre el archivo Main.kt .
Haz clic en el ▶️ verde que aparece al lado de fun main() para ejecutar.
También puedes compilar y ejecutar desde consola:
./gradlew run
🧩 Estructura del Escape Room Sala 1 — La Puerta de los Datos
Uso de data class (FichaAnimal).
Demuestra ==, copy, toString().
Imprime "OK-DATOS" si todo es correcto.
Sala 2 — El Corredor del Comportamiento
Creación de clase base Animal.
Implementa open fun sonido() y open fun accion().
Se observa la diferencia entre toString() de una data class y el toString() heredado de Any.
Sala 3 — La Jaula de los Herederos
Herencia con Leon, Jirafa, Elefante, Mono.
Cada clase sobrescribe sonido() y accion().
Se recorre una lista List escuchando diferentes sonidos.
Final — La Llave del Polimorfismo
Se demuestra el polimorfismo dinámico al ejecutar métodos sobrescritos según el objeto real.
Existen varios finales aleatorios para darle un toque narrativo.
=== Final — La Llave del Polimorfismo === Has escuchado voces distintas en el parque... Final poético: descubres que tú también eres parte del parque encantado.
📚 Conceptos de Kotlin aplicados
Data classes → generación automática de equals, hashCode, toString, copy.
Clases abiertas (open) → permiten herencia y sobreescritura.
Polimorfismo → el método ejecutado depende del tipo real del objeto.
Colecciones genéricas (List) → recorrido uniforme de objetos heterogéneos.
✨ Posibles mejoras
Añadir más animales con comportamientos únicos.
Incluir interacción por consola (ej: elegir qué sala explorar primero).
Guardar el progreso del jugador.
Implementar pruebas unitarias con JUnit.