diff --git a/src/main/java/edu/fiuba/algo3/modelo/AlgoRoma.java b/src/main/java/edu/fiuba/algo3/modelo/AlgoRoma.java index 5078e4b..a4d804a 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/AlgoRoma.java +++ b/src/main/java/edu/fiuba/algo3/modelo/AlgoRoma.java @@ -12,13 +12,38 @@ import java.util.List; public class AlgoRoma { -/* public AlgoRoma(){ + + private TableroB tablero; + private List gladiadores; + + private int turnosJugados = 0; + + + public void iniciarJuego() throws IOException { + List mapa = obtenerListaDatosDesdeJson("mapa.json"); + this.gladiadores = new ArrayList<>(); + + gladiadores.add(new Gladiador("Pepe")); + + + tablero = new TableroB(gladiadores, mapa); } - public moverGladiador(Gladiador gladiador, Posicion posicionesAMover){ - gladiador.mover(posicion); - }*/ + public int jugar() { + boolean sinGanadores = true; + while (sinGanadores) { + turnosJugados += 1; + for (Gladiador gladiador: this.gladiadores) { + gladiador.turnoEn(this.tablero); + } + + if (turnosJugados == 30) { + sinGanadores = false; + } + } + return 0; + } //posibel ejemplo de como leer el json public static List obtenerListaDatosDesdeJson(String rutaArchivoJson) throws IOException { diff --git a/src/main/java/edu/fiuba/algo3/modelo/Casilla.java b/src/main/java/edu/fiuba/algo3/modelo/Casilla.java index d98506f..53016e1 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Casilla.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Casilla.java @@ -1,6 +1,7 @@ package edu.fiuba.algo3.modelo; import edu.fiuba.algo3.modelo.camino.CaminoTipo; +import edu.fiuba.algo3.modelo.efectos.Efecto; public class Casilla { @@ -16,9 +17,4 @@ public Casilla(Efecto e, CaminoTipo t) { public void aplicarEfecto(Gladiador g) { this.efecto.aplicar(g); } - - //para la interfaz grafica - public void pintar() { - this.tipo.pintar(); - } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/Casillero.java b/src/main/java/edu/fiuba/algo3/modelo/Casillero.java deleted file mode 100644 index e3b7652..0000000 --- a/src/main/java/edu/fiuba/algo3/modelo/Casillero.java +++ /dev/null @@ -1,4 +0,0 @@ -package edu.fiuba.algo3.modelo; - -public class Casillero { -} diff --git a/src/main/java/edu/fiuba/algo3/modelo/Dado.java b/src/main/java/edu/fiuba/algo3/modelo/Dado.java index 6ae644e..e395b7c 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Dado.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Dado.java @@ -4,7 +4,7 @@ public class Dado { - public int tirar(){ + public static int tirar(){ return new Random().nextInt(5) + 1; } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/Efecto.java b/src/main/java/edu/fiuba/algo3/modelo/Efecto.java deleted file mode 100644 index 14624af..0000000 --- a/src/main/java/edu/fiuba/algo3/modelo/Efecto.java +++ /dev/null @@ -1,6 +0,0 @@ -package edu.fiuba.algo3.modelo; - -public interface Efecto { - - void aplicar(Gladiador g); -} diff --git a/src/main/java/edu/fiuba/algo3/modelo/Energia.java b/src/main/java/edu/fiuba/algo3/modelo/Energia.java deleted file mode 100644 index 42fdaef..0000000 --- a/src/main/java/edu/fiuba/algo3/modelo/Energia.java +++ /dev/null @@ -1,28 +0,0 @@ -package edu.fiuba.algo3.modelo; - -import edu.fiuba.algo3.modelo.nivel.Nivel; - -public class Energia { - - private int puntos = 20; - - public void sumarPuntos(int cantidad) { - this.puntos += cantidad; - } - - public void restarPuntos(int cantidad) { - this.puntos -= cantidad; - } - - public boolean tenes(int puntos) { - return this.puntos == puntos; - } - - public boolean tenesPuntosMayorA(int puntos) { - return this.puntos >= puntos; - } - - public boolean tenesPuntosMenorA(int puntos) { - return this.puntos <= puntos; - } -} diff --git a/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java b/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java index 9fdb94d..e3d831a 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Gladiador.java @@ -3,28 +3,31 @@ import edu.fiuba.algo3.modelo.equipamiento.Equipo; import edu.fiuba.algo3.modelo.equipamiento.SinEquipo; import edu.fiuba.algo3.modelo.estado.Estado; +import edu.fiuba.algo3.modelo.estado.Lesionado; import edu.fiuba.algo3.modelo.estado.Sano; import edu.fiuba.algo3.modelo.nivel.Nivel; import edu.fiuba.algo3.modelo.nivel.Novato; public class Gladiador { - private final Energia energia; + private int energia = 20; private Nivel nivel; private Estado estado; + private String nombre; + //como no tiene efecto el historial de obtenciones de equipo por parte del jugador, simplemente tiene el ultimo equipo obtenido private Equipo equipo; private int turnosJugados = 0; - public Gladiador() { - this.energia = new Energia(); + public Gladiador(String nombre) { this.nivel = new Novato(); this.equipo = new SinEquipo(); this.estado = new Sano(); + this.nombre = nombre; } - public void jugar(TableroB t) { + public void turnoEn(TableroB t) { this.estado = this.estado.jugar(this, t); } @@ -33,15 +36,19 @@ public void actualizarEquipo() { } public void beber(int puntosPerdidos) { - this.energia.restarPuntos(puntosPerdidos); + this.energia -= puntosPerdidos; } public void esAtacado() { this.equipo.resistirAtaque(this); } - public void comer() { - this.energia.sumarPuntos(10); + public void comer(int puntosGanados) { + this.energia += puntosGanados; + } + + public void esLesionado() { + this.estado = new Lesionado(); } public boolean tenesEsteEquipo(Equipo e) { @@ -49,7 +56,7 @@ public boolean tenesEsteEquipo(Equipo e) { } public boolean tenesPuntosDeEnegia(int puntos) { - return this.energia.tenes(puntos); + return this.energia == puntos; } public boolean tenesElNivel(Nivel n) { @@ -60,29 +67,25 @@ public String obtenerNombre() { return "nombre"; } - public void setEstado(Estado e) { - this.estado = e; - } - public void actualizarPuntosSegunNivel() { turnosJugados += 1; - this.nivel = this.nivel.actualizarPuntos(this.energia, this.turnosJugados); + this.nivel = this.nivel.actualizarPuntos(this, this.turnosJugados); } public void sumarEnergia(int cantidad) { - this.energia.sumarPuntos(cantidad); + this.energia += cantidad; } public void restarEnegia(int cantidad) { - this.energia.restarPuntos(cantidad); + this.energia -= cantidad; } public boolean sinEnergia() { - return this.energia.tenesPuntosMenorA(0); + return this.energia <= 0; } public boolean conEnergia() { - return this.energia.tenesPuntosMayorA(0); + return this.energia >= 0; } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/Localize.java b/src/main/java/edu/fiuba/algo3/modelo/Localize.java deleted file mode 100644 index 021876b..0000000 --- a/src/main/java/edu/fiuba/algo3/modelo/Localize.java +++ /dev/null @@ -1,20 +0,0 @@ -package edu.fiuba.algo3.modelo; - -public class Localize { - protected final String esContent; - protected final String usContent; - - public Localize(String esContent, String usContent) { - this.esContent = esContent; - this.usContent = usContent; - } - - public String greet(String lang) { - if (lang.equals("us")) { - return usContent; - } - - return esContent; - } - -} diff --git a/src/main/java/edu/fiuba/algo3/modelo/Message.java b/src/main/java/edu/fiuba/algo3/modelo/Message.java deleted file mode 100644 index 5e8c722..0000000 --- a/src/main/java/edu/fiuba/algo3/modelo/Message.java +++ /dev/null @@ -1,12 +0,0 @@ -package edu.fiuba.algo3.modelo; - -public class Message extends Localize { - - public Message(String esContent, String usContent) { - super(esContent, usContent); - } - - public String greet() { - return super.greet("es"); - } -} diff --git a/src/main/java/edu/fiuba/algo3/modelo/TableroB.java b/src/main/java/edu/fiuba/algo3/modelo/TableroB.java index 6eaf733..b11e2c1 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/TableroB.java +++ b/src/main/java/edu/fiuba/algo3/modelo/TableroB.java @@ -1,10 +1,11 @@ package edu.fiuba.algo3.modelo; import java.util.*; - import com.google.gson.JsonObject; import edu.fiuba.algo3.modelo.camino.CaminoFactory; import edu.fiuba.algo3.modelo.camino.CaminoTipo; +import edu.fiuba.algo3.modelo.efectos.Efecto; +import edu.fiuba.algo3.modelo.efectos.EfectoFactory; import edu.fiuba.algo3.modelo.equipamiento.Llave; public class TableroB { diff --git a/src/main/java/edu/fiuba/algo3/modelo/camino/Camino.java b/src/main/java/edu/fiuba/algo3/modelo/camino/Camino.java index 565c564..bb9a561 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/camino/Camino.java +++ b/src/main/java/edu/fiuba/algo3/modelo/camino/Camino.java @@ -2,9 +2,5 @@ import edu.fiuba.algo3.modelo.camino.CaminoTipo; -public class Camino extends CaminoTipo { - @Override - public void pintar() { - - } +public class Camino implements CaminoTipo { } diff --git a/src/main/java/edu/fiuba/algo3/modelo/camino/CaminoTipo.java b/src/main/java/edu/fiuba/algo3/modelo/camino/CaminoTipo.java index f0ef187..34eb0e1 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/camino/CaminoTipo.java +++ b/src/main/java/edu/fiuba/algo3/modelo/camino/CaminoTipo.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.camino; -public abstract class CaminoTipo { +public interface CaminoTipo { - public abstract void pintar(); } diff --git a/src/main/java/edu/fiuba/algo3/modelo/camino/NoEsCamino.java b/src/main/java/edu/fiuba/algo3/modelo/camino/NoEsCamino.java index 28be1f1..67e420d 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/camino/NoEsCamino.java +++ b/src/main/java/edu/fiuba/algo3/modelo/camino/NoEsCamino.java @@ -1,8 +1,4 @@ package edu.fiuba.algo3.modelo.camino; -public class NoEsCamino extends CaminoTipo { - @Override - public void pintar() { - - } +public class NoEsCamino implements CaminoTipo { } diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Bacanal.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Bacanal.java index d388540..3f56be5 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Bacanal.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Bacanal.java @@ -1,7 +1,6 @@ package edu.fiuba.algo3.modelo.efectos; import edu.fiuba.algo3.modelo.Dado; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; public class Bacanal implements Efecto { diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Comida.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Comida.java index 55dd7ee..7e35d97 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Comida.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Comida.java @@ -1,12 +1,11 @@ package edu.fiuba.algo3.modelo.efectos; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; public class Comida implements Efecto { @Override public void aplicar(Gladiador g) { - g.comer(); + g.comer(10); } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Efecto.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Efecto.java new file mode 100644 index 0000000..53085af --- /dev/null +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Efecto.java @@ -0,0 +1,8 @@ +package edu.fiuba.algo3.modelo.efectos; + +import edu.fiuba.algo3.modelo.Gladiador; + +public interface Efecto { + + void aplicar(Gladiador g); +} diff --git a/src/main/java/edu/fiuba/algo3/modelo/EfectoFactory.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/EfectoFactory.java similarity index 93% rename from src/main/java/edu/fiuba/algo3/modelo/EfectoFactory.java rename to src/main/java/edu/fiuba/algo3/modelo/efectos/EfectoFactory.java index 8ef5f0e..fc5c8f8 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/EfectoFactory.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/EfectoFactory.java @@ -1,4 +1,4 @@ -package edu.fiuba.algo3.modelo; +package edu.fiuba.algo3.modelo.efectos; import edu.fiuba.algo3.modelo.efectos.*; diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Equipamiento.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Equipamiento.java index 79f4bf6..5a5329a 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Equipamiento.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Equipamiento.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.efectos; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; public class Equipamiento implements Efecto { diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Fiera.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Fiera.java index 12a44cf..d4e8a00 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Fiera.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Fiera.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.efectos; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; public class Fiera implements Efecto { diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Lesion.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Lesion.java index b3ca62a..f8a6f44 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Lesion.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Lesion.java @@ -1,12 +1,10 @@ package edu.fiuba.algo3.modelo.efectos; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; -import edu.fiuba.algo3.modelo.estado.Lesionado; public class Lesion implements Efecto { @Override public void aplicar(Gladiador g) { - g.setEstado(new Lesionado()); + g.esLesionado(); } } diff --git a/src/main/java/edu/fiuba/algo3/modelo/efectos/Ninguno.java b/src/main/java/edu/fiuba/algo3/modelo/efectos/Ninguno.java index b55959e..7efed27 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/efectos/Ninguno.java +++ b/src/main/java/edu/fiuba/algo3/modelo/efectos/Ninguno.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.efectos; -import edu.fiuba.algo3.modelo.Efecto; import edu.fiuba.algo3.modelo.Gladiador; public class Ninguno implements Efecto { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Armadura.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Armadura.java index 9c011c2..7cfbded 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Armadura.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Armadura.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class Armadura extends Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Casco.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Casco.java index 01b79d4..6b0b2a6 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Casco.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Casco.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class Casco extends Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Equipo.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Equipo.java index a53f69e..9b7d853 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Equipo.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Equipo.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public abstract class Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/EscudoYEspada.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/EscudoYEspada.java index 7358b9c..fc45825 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/EscudoYEspada.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/EscudoYEspada.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class EscudoYEspada extends Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Llave.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Llave.java index 5ef9c8e..8f4648e 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Llave.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/Llave.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class Llave extends Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/SinEquipo.java b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/SinEquipo.java index 984e363..0b2f88d 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/equipamiento/SinEquipo.java +++ b/src/main/java/edu/fiuba/algo3/modelo/equipamiento/SinEquipo.java @@ -1,6 +1,5 @@ package edu.fiuba.algo3.modelo.equipamiento; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class SinEquipo extends Equipo { diff --git a/src/main/java/edu/fiuba/algo3/modelo/estado/Sano.java b/src/main/java/edu/fiuba/algo3/modelo/estado/Sano.java index f173c91..a30d621 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/estado/Sano.java +++ b/src/main/java/edu/fiuba/algo3/modelo/estado/Sano.java @@ -8,13 +8,12 @@ public class Sano implements Estado { @Override public Estado jugar(Gladiador g, TableroB t) { - Dado dado = new Dado(); + int tirada = Dado.tirar(); t.mover(g, 7); g.actualizarPuntosSegunNivel(); if (g.sinEnergia()) { - - return new SinEnergia();} - + return new SinEnergia(); + } return 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 1a8a0ca..f0126e6 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java @@ -1,12 +1,10 @@ package edu.fiuba.algo3.modelo.nivel; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; -import edu.fiuba.algo3.modelo.equipamiento.Equipo; public abstract class Nivel { - public abstract Nivel actualizarPuntos(Energia e, int turnosJugados); + public abstract Nivel actualizarPuntos(Gladiador g, int turnosJugados); public boolean equals(Nivel n) { 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 c520111..5ab728f 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java @@ -1,13 +1,12 @@ package edu.fiuba.algo3.modelo.nivel; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class Novato extends Nivel { @Override - public Nivel actualizarPuntos(Energia e, int turnosJugados) { - e.sumarPuntos(0); + public Nivel actualizarPuntos(Gladiador g, int turnosJugados) { + g.sumarEnergia(0); if (turnosJugados == 8) return new SemiSenior(); 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 943bfd0..81a616e 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java @@ -1,13 +1,12 @@ package edu.fiuba.algo3.modelo.nivel; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class SemiSenior extends Nivel { @Override - public Nivel actualizarPuntos(Energia e, int turnosJugados) { - e.sumarPuntos(5); + public Nivel actualizarPuntos(Gladiador g, int turnosJugados) { + g.sumarEnergia(5); if (turnosJugados == 9) return new Senior(); 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 df1ae93..8090dc2 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java +++ b/src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java @@ -1,13 +1,12 @@ package edu.fiuba.algo3.modelo.nivel; -import edu.fiuba.algo3.modelo.Energia; import edu.fiuba.algo3.modelo.Gladiador; public class Senior extends Nivel { @Override - public Nivel actualizarPuntos(Energia e, int turnosJugados) { - e.sumarPuntos(10); + public Nivel actualizarPuntos(Gladiador g, int turnosJugados) { + g.sumarEnergia(10); return this; } } diff --git a/src/main/test/edu/fiuba/algo3/entrega_1/MessageTest.java b/src/main/test/edu/fiuba/algo3/entrega_1/MessageTest.java deleted file mode 100644 index ae63316..0000000 --- a/src/main/test/edu/fiuba/algo3/entrega_1/MessageTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package edu.fiuba.algo3.entrega_1; - -import edu.fiuba.algo3.modelo.*; -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class MessageTest { - @Test - public void jugadorEmpiezaConLaEnergiaYEquipamientoCorrespondiente() { - - - - } - - @Test - public void messageGreetingDefaultLanguage() { - Message message = new Message("Hola Mundo!", "Hello world!"); - - assertEquals("Hola Mundo!", message.greet()); - } -} 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 485b49f..2bec865 100644 --- a/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java +++ b/src/main/test/edu/fiuba/algo3/entrega_1/PrimerEntregaTest.java @@ -3,13 +3,10 @@ import com.google.gson.JsonObject; import edu.fiuba.algo3.modelo.*; import edu.fiuba.algo3.modelo.camino.Camino; +import edu.fiuba.algo3.modelo.efectos.*; import edu.fiuba.algo3.modelo.equipamiento.*; import edu.fiuba.algo3.modelo.nivel.Novato; import edu.fiuba.algo3.modelo.nivel.SemiSenior; -import edu.fiuba.algo3.modelo.efectos.Fiera; -import edu.fiuba.algo3.modelo.efectos.Comida; -import edu.fiuba.algo3.modelo.efectos.Equipamiento; -import edu.fiuba.algo3.modelo.Efecto; import org.junit.jupiter.api.Test; import java.io.IOException; @@ -22,10 +19,10 @@ public class PrimerEntregaTest { @Test public void test01JugadorEmpiezaConEnergiaYEquipamientoCorrespondiente(){ - //Act - Gladiador gladiador = new Gladiador(); - Equipo sinEquipo = new SinEquipo(); //Arrange + Gladiador gladiador = new Gladiador("Pepe"); + Equipo sinEquipo = new SinEquipo(); + //Act //Assert assertTrue(gladiador.tenesPuntosDeEnegia(20)); @@ -35,7 +32,7 @@ public void test01JugadorEmpiezaConEnergiaYEquipamientoCorrespondiente(){ @Test public void test02JugadorSaleDeLaCasillaInicial(){ Posicion posicionInicial = new Posicion(0); - Gladiador gladiador = new Gladiador(); + Gladiador gladiador = new Gladiador("Pepe"); ArrayList gladiadores = new ArrayList<>(); gladiadores.add(gladiador); Tablero tablero = new Tablero(gladiadores, new ArrayList<>()); @@ -47,14 +44,14 @@ public void test02JugadorSaleDeLaCasillaInicial(){ @Test public void test02ConTableroBJugadorSaleDeLaCasillaInicial() throws IOException { - //Act + //Arrange List mapa = AlgoRoma.obtenerListaDatosDesdeJson("mapa.json"); ArrayList gladiadores = new ArrayList<>(); - gladiadores.add(new Gladiador()); - gladiadores.add(new Gladiador()); + gladiadores.add(new Gladiador("Pepe")); + gladiadores.add(new Gladiador("Jose")); TableroB tablero = new TableroB(gladiadores, mapa); - //Arrange + //Act tablero.mover(gladiadores.get(0), 3); //Assert @@ -64,7 +61,7 @@ public void test02ConTableroBJugadorSaleDeLaCasillaInicial() throws IOException @Test public void test03NoPuedeJugarUnTurnoSinEnergia(){ Posicion posicionInicial = new Posicion(0); - Gladiador gladiador = new Gladiador(); + Gladiador gladiador = new Gladiador("Pepe"); ArrayList gladiadores = new ArrayList(); gladiadores.add(gladiador); //Tablero tablero = new Tablero(gladiadores, new ArrayList(new Fiera())); @@ -76,33 +73,33 @@ public void test03NoPuedeJugarUnTurnoSinEnergia(){ @Test public void test03JugadorSinEnergiaNoJuega() throws IOException { - //Act + //Arrange, para este test, se debe poner t.mover a 7 en la clase Sano List mapa = AlgoRoma.obtenerListaDatosDesdeJson("mapa.json"); ArrayList gladiadores = new ArrayList<>(); - Gladiador gladiador = new Gladiador(); + Gladiador gladiador = new Gladiador("Pepe"); gladiadores.add(gladiador); TableroB tablero = new TableroB(gladiadores, mapa); - //Arrange - gladiador.jugar(tablero); + //Act + gladiador.turnoEn(tablero); //para ver si esta en 7 assertTrue(tablero.estaEl(gladiador, 7)); - gladiador.jugar(tablero); + gladiador.turnoEn(tablero); - //jugador no avanza, esta en la misma posicion + //Assert jugador no avanza, esta en la misma posicion assertTrue(tablero.estaEl(gladiador, 7)); } @Test public void test04RecibeComidaIncrementaEnergiaEn10() { - //Act - Gladiador gladiador = new Gladiador(); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); Efecto premio = new Comida(); - //Arrange + //Act premio.aplicar(gladiador); //Assert 20 iniciales + 10 por comer @@ -112,12 +109,12 @@ public void test04RecibeComidaIncrementaEnergiaEn10() { @Test public void test05gladiadorRecibeCasco() { - //Act - Gladiador gladiador = new Gladiador(); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); Casco casco = new Casco(); Efecto premio = new Equipamiento(); - // Arrange + //Act premio.aplicar(gladiador); // Assert @@ -126,11 +123,11 @@ public void test05gladiadorRecibeCasco() { @Test public void test06gladiadorRecibeLEscudoYEspada() { - //Act - Gladiador gladiador = new Gladiador(); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); Efecto premio = new Equipamiento(); - // Arrange + //Act premio.aplicar(gladiador); premio.aplicar(gladiador); premio.aplicar(gladiador); @@ -142,13 +139,12 @@ public void test06gladiadorRecibeLEscudoYEspada() { @Test public void test07gladiadorEsAtacadoYPierde15Puntos() { - //Act - Gladiador gladiador = new Gladiador(); - EfectoFactory fabrica = new EfectoFactory(); - Efecto efecto = fabrica.crearEfecto("Equipamiento"); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); + Efecto efecto = EfectoFactory.crearEfecto("Equipamiento"); Casilla casilla = new Casilla(efecto, new Camino()); - //Arrange + //Act casilla.aplicarEfecto(gladiador); gladiador.esAtacado(); @@ -158,8 +154,8 @@ public void test07gladiadorEsAtacadoYPierde15Puntos() { @Test public void test08gladiadorSubeASemiSeniorDespuesDe8TurnosEIncrementaSuEnergia() { - // Arrange - Gladiador gladiador = new Gladiador(); + // Arramge + Gladiador gladiador = new Gladiador("Pepe"); Novato novato = new Novato(); SemiSenior semiSenior = new SemiSenior(); @@ -175,20 +171,21 @@ public void test08gladiadorSubeASemiSeniorDespuesDe8TurnosEIncrementaSuEnergia() assertTrue(gladiador.tenesElNivel(semiSenior)); gladiador.actualizarPuntosSegunNivel(); - //sube 5 puntos de los 20 iniciales + + //Assert, sube 5 puntos de los 20 iniciales assertTrue(gladiador.tenesPuntosDeEnegia(25)); } @Test public void test09GladiadorLlegaAMetaSinLlaveRetroceAMitadDeCamino() throws IOException { - //Act + //Arrange List mapa = AlgoRoma.obtenerListaDatosDesdeJson("mapa.json"); ArrayList gladiadores = new ArrayList<>(); - Gladiador gladiador = new Gladiador(); + Gladiador gladiador = new Gladiador("Pepe"); gladiadores.add(gladiador); TableroB tablero = new TableroB(gladiadores, mapa); - //Arrange gladiador se mueve hasta el fin + //Act gladiador se mueve hasta el fin tablero.mover(gladiador, 50); //Assert el jugador vuelve a mitad de camino @@ -197,11 +194,11 @@ public void test09GladiadorLlegaAMetaSinLlaveRetroceAMitadDeCamino() throws IOEx @Test public void test10gladiadorEsAtacadoYNoReciveDanioPorPoseerTodoElEquipo() { - //Act - Gladiador gladiador = new Gladiador(); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); Efecto obstaculo = new Fiera(); - // Arrange + //Act gladiador.actualizarEquipo(); gladiador.actualizarEquipo(); gladiador.actualizarEquipo(); @@ -215,11 +212,11 @@ public void test10gladiadorEsAtacadoYNoReciveDanioPorPoseerTodoElEquipo() { @Test public void test11gladiadorTieneLlaveYRecibeOtroPremioNoCambiaNada() { - //Act - Gladiador gladiador = new Gladiador(); + //Arrange + Gladiador gladiador = new Gladiador("Pepe"); Llave llave = new Llave(); - // Arrange + //Act gladiador.actualizarEquipo(); gladiador.actualizarEquipo(); gladiador.actualizarEquipo(); @@ -232,34 +229,17 @@ public void test11gladiadorTieneLlaveYRecibeOtroPremioNoCambiaNada() { } @Test - public void leerArchivo() throws IOException { - List mapa = AlgoRoma.obtenerListaDatosDesdeJson("mapa.json"); - ArrayList gladiadores = new ArrayList<>(); - gladiadores.add(new Gladiador()); - gladiadores.add(new Gladiador()); - TableroB tablero = new TableroB(gladiadores, mapa); - - - tablero.mover(gladiadores.get(0), 3); - assertTrue(tablero.estaEl(gladiadores.get(0), 3)); - assertTrue(gladiadores.get(0).tenesPuntosDeEnegia(30)); - - - tablero.mover(gladiadores.get(0), -2); - assertTrue(tablero.estaEl(gladiadores.get(0), 1)); - } + public void test12SinNadieGanaDespuesDe30RondasFinalizaElJuego() throws IOException { + //Arrange + AlgoRoma algoRoma = new AlgoRoma(); - @Test - public void jugarUnaRonda() throws IOException { - List mapa = AlgoRoma.obtenerListaDatosDesdeJson("mapa.json"); - List gladiadores = new ArrayList<>(); - gladiadores.add(new Gladiador()); + //Act + algoRoma.iniciarJuego(); + int valorFin = algoRoma.jugar(); - TableroB tableroB = new TableroB(gladiadores, mapa); + //Assert cuando finaliza el juego, retorna 0 + assertEquals(0, valorFin); - for (Gladiador gladiador: gladiadores) { - gladiador.jugar(tableroB); - } } diff --git a/src/main/test/edu/fiuba/algo3/entrega_2/MessageTest2.java b/src/main/test/edu/fiuba/algo3/entrega_2/MessageTest2.java deleted file mode 100644 index a2ecf56..0000000 --- a/src/main/test/edu/fiuba/algo3/entrega_2/MessageTest2.java +++ /dev/null @@ -1,21 +0,0 @@ -package edu.fiuba.algo3.entrega_2; - -import edu.fiuba.algo3.modelo.Message; -import org.junit.jupiter.api.Test; -import static org.junit.jupiter.api.Assertions.assertEquals; - -public class MessageTest2 { - @Test - public void messageGreeting() { - Message message = new Message("Hola Mundo!", "Hello world!"); - - assertEquals("Hello world!", message.greet("us")); - } - - @Test - public void messageGreetingDefaultLanguage() { - Message message = new Message("Hola Mundo!", "Hello world!"); - - assertEquals("Hola Mundo!", message.greet()); - } -}