From e94108db125d88422d3a909fd28e0a48fb8c15ed Mon Sep 17 00:00:00 2001 From: victogo <victor.gonzalezn@estudiantes.uva.es> Date: Tue, 19 Nov 2024 21:01:26 +0100 Subject: [PATCH] =?UTF-8?q?Feature:=20nueva=20opcion=20agregada=20al=20eve?= =?UTF-8?q?nto=20trampa,=20gastas=20dos=20de=20energ=C3=ADa=20a=20cambio?= =?UTF-8?q?=20de=20obtener=20un=2040%=20de=20posibilidades=20de=20escapar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/GestorDeEventos.kt | 1 + .../model/efecto/EfectoEscalar.kt | 22 +++++++++++++++++++ .../model/efecto/EfectoFuerzaBruta.kt | 4 ++-- .../model/eventoFactory/TrampaFactory.kt | 7 +++++- 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt index e84c7c2..37342e4 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/GestorDeEventos.kt @@ -43,6 +43,7 @@ object GestorDeEventos{ Atributo.Vida -> ContextCompat.getDrawable(context, R.drawable.icon_vida) Atributo.Ataque -> ContextCompat.getDrawable(context, R.drawable.icon_espada) Atributo.Investigacion -> ContextCompat.getDrawable(context, R.drawable.icon_vasija) + Atributo.Energia -> ContextCompat.getDrawable(context, R.drawable.icon_energia) else -> null } diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt new file mode 100644 index 0000000..74c9051 --- /dev/null +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoEscalar.kt @@ -0,0 +1,22 @@ +package com.example.ellegadodepintia.exploradoresDePintia.model.efecto + +import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo +import com.example.ellegadodepintia.exploradoresDePintia.model.GameState + + +class EfectoEscalar() : Efecto(100) { + override fun ejecutar(): String { + if (GameState.jugador.atributos[Atributo.Energia]!!<2){ + return "No tienes energÃa suficiente para intentar escapar escalando. Necesitas al menos 2 puntos" + }else{ + GameState.jugador.actualizarAtributo(Atributo.Energia, -2) + if ((1..100).random() <= 40){ + GameState.eventoActual.actualizarFinalizado(true) + return "Logras escalar la montaña de piedras y escapar. El esfuerzo no ha sido en vano" + }else{ + return "Al escalar la montaña de piedras, sufres un resbalo y vuelves a caer, gastando inútilmente energÃa" + } + } + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt index 0316c2c..118fd34 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/efecto/EfectoFuerzaBruta.kt @@ -8,9 +8,9 @@ class EfectoFuerzaBruta() : Efecto(100) { GameState.jugador.actualizarAtributo(Atributo.Vida, -1) if ((1..100).random() <= 25){ GameState.eventoActual.actualizarFinalizado(true) - return "Con un esfuerzo descomunal, logras escapar y te abres paso, agotado pero libre." + return "Con un esfuerzo descomunal, logras mover las piedras con tus manos y escapar, haciendote daño en el acto" }else{ - return "A pesar de tu esfuerzo, no logras escapar y sigues atrapado" + return "A pesar de tu esfuerzo, no logras escapar y sigues atrapado. Has sufrido daño" } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt index 12655ef..45d6bc7 100644 --- a/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt +++ b/app/src/main/java/com/example/ellegadodepintia/exploradoresDePintia/model/eventoFactory/TrampaFactory.kt @@ -3,6 +3,7 @@ package com.example.ellegadodepintia.exploradoresDePintia.model.eventoFactory import com.example.ellegadodepintia.R import com.example.ellegadodepintia.exploradoresDePintia.model.Atributo import com.example.ellegadodepintia.exploradoresDePintia.model.Opcion +import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoEscalar import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoExplorar import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoFuerzaBruta import com.example.ellegadodepintia.exploradoresDePintia.model.efecto.EfectoPico @@ -23,6 +24,10 @@ class TrampaFactory : EventoFactory { descripcion = "Explorar", atributoRequerida = Atributo.Investigacion, EfectoExplorar() + ), Opcion( + descripcion = "Escalar", + atributoRequerida = Atributo.Energia, + EfectoEscalar() ) ) ), @@ -34,7 +39,7 @@ class TrampaFactory : EventoFactory { } override fun generarOpciones(descripcion: String): MutableList<Opcion> { - return trampasMap[descripcion]?.second?.shuffled()?.take(3)?.toMutableList() + return trampasMap[descripcion]?.second?.shuffled()?.take(4)?.toMutableList() ?: mutableListOf() } -- GitLab