From c1e58779e14cfc1af5b4a497f5b20d080ca16bc6 Mon Sep 17 00:00:00 2001 From: Damlima Date: Wed, 22 Nov 2023 12:09:59 -0300 Subject: [PATCH] sumo parte de la implementacion de la rama refactor_rama_1 --- .../edu/fiuba/algo3/modelo/Gladiador.java | 19 ++++--------------- .../edu/fiuba/algo3/modelo/nivel/Nivel.java | 10 +++++++--- .../edu/fiuba/algo3/modelo/nivel/Novato.java | 13 +++++-------- .../fiuba/algo3/modelo/nivel/SemiSenior.java | 12 ++++-------- .../edu/fiuba/algo3/modelo/nivel/Senior.java | 11 +++-------- .../algo3/entrega_1/PrimerEntregaTest.java | 4 ++-- 6 files changed, 25 insertions(+), 44 deletions(-) diff --git a/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java b/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java index 196489a..1053f05 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java @@ -17,19 +17,13 @@ public class Gladiador { public Gladiador() { this.energia = new Energia(); - this.setNivel(new Novato()); + this.nivel = new Novato(); this.equipo = new SinEquipo(); } - //esto usa el patron state, ver si se puede mejorar, sacar el SET - public void setNivel(Nivel n) { - this.nivel = n; - this.nivel.setGladiador(this); - } - public void jugar() { this.turnosJugados += 1; - this.nivel.actualizarPuntos(this.energia, this.turnosJugados); + this.nivel = this.nivel.actualizarPuntos(this.energia, this.turnosJugados); } public void actualizarEquipo() { @@ -56,9 +50,8 @@ public boolean tenesPuntosDeEnegia(int puntos) { return this.energia.tenes(puntos); } - //mejorar - public Nivel getNivel() { - return this.nivel; + public boolean tenesElNivel(Nivel n) { + return this.nivel.equals(n); } public String obtenerNombre() { @@ -67,8 +60,4 @@ public String obtenerNombre() { public void lesion() { } - - public void efecto() { - this.casilla.aplicarEfecto(this); - } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java b/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java index 95c0f2b..1a8a0ca 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java @@ -2,11 +2,15 @@ import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; +import edu.fiuba.algo3.modelo.equipamiento.Equipo; -public interface Nivel { +public abstract class Nivel { - void actualizarPuntos(Energia e, int turnosJugados); + public abstract Nivel actualizarPuntos(Energia e, int turnosJugados); - void setGladiador(Gladiador g); + + public boolean equals(Nivel n) { + return this.getClass() == n.getClass(); + } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java b/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java index bbd18f0..c520111 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java @@ -3,19 +3,16 @@ import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; -public class Novato implements Nivel { +public class Novato extends Nivel { - private Gladiador gladiador; @Override - public void actualizarPuntos(Energia e, int turnosJugados) { + public Nivel actualizarPuntos(Energia e, int turnosJugados) { e.sumarPuntos(0); if (turnosJugados == 8) - gladiador.setNivel(new SemiSenior()); + return new SemiSenior(); + + return this; - } - @Override - public void setGladiador(Gladiador g) { - this.gladiador = g; } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java b/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java index f815c7d..943bfd0 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java @@ -3,18 +3,14 @@ import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; -public class SemiSenior implements Nivel { +public class SemiSenior extends Nivel { - private Gladiador gladiador; @Override - public void actualizarPuntos(Energia e, int turnosJugados) { + public Nivel actualizarPuntos(Energia e, int turnosJugados) { e.sumarPuntos(5); if (turnosJugados == 9) - this.gladiador.setNivel(new Senior()); - } + return new Senior(); - @Override - public void setGladiador(Gladiador g) { - this.gladiador = g; + return this; } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java b/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java index df3bb9a..df1ae93 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java @@ -3,16 +3,11 @@ import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; -public class Senior implements Nivel { +public class Senior extends Nivel { - private Gladiador gladiador; @Override - public void actualizarPuntos(Energia e, int turnosJugados) { + public Nivel actualizarPuntos(Energia e, int turnosJugados) { e.sumarPuntos(10); - } - - @Override - public void setGladiador(Gladiador g) { - this.gladiador = g; + return this; } } diff --git a/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java b/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java index fe16899..98fbbd5 100644 --- a/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java +++ b/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java @@ -143,7 +143,7 @@ public void test08gladiadorSubeASemiSeniorDespuesDe8TurnosEIncrementaSuEnergia() SemiSenior semiSenior = new SemiSenior(); //ver el nivel inicial - assertEquals(novato.getClass(), gladiador.getNivel().getClass()); + assertTrue(gladiador.tenesElNivel(novato)); // Act for (int turno = 1; turno <= 8; turno++) { @@ -151,7 +151,7 @@ public void test08gladiadorSubeASemiSeniorDespuesDe8TurnosEIncrementaSuEnergia() } // Sube a semi senior - assertEquals(semiSenior.getClass(), gladiador.getNivel().getClass()); + assertTrue(gladiador.tenesElNivel(semiSenior)); gladiador.jugar(); //sube 5 puntos de los 20 iniciales