diff --git a/src/main/java/edu/fiuba/algo3/modelo/Juego.java b/src/main/java/edu/fiuba/algo3/modelo/Juego.java new file mode 100644 index 000000000..e322ca716 --- /dev/null +++ b/src/main/java/edu/fiuba/algo3/modelo/Juego.java @@ -0,0 +1,4 @@ +package edu.fiuba.algo3.modelo; + +public class Juego { +} diff --git a/src/main/java/edu/fiuba/algo3/modelo/Jugador.java b/src/main/java/edu/fiuba/algo3/modelo/Jugador.java index 951078617..5abc26a03 100644 --- a/src/main/java/edu/fiuba/algo3/modelo/Jugador.java +++ b/src/main/java/edu/fiuba/algo3/modelo/Jugador.java @@ -1,4 +1,5 @@ package edu.fiuba.algo3.modelo; + import javafx.scene.SceneAntialiasing; import java.util.Random; @@ -15,17 +16,24 @@ public Jugador(Gladiador gladiador, Celda celdaInicial) { } // -------------------------------- PUBLICOS -------------------------------- // - public void jugarTurno() { + public boolean jugarTurno() { + boolean aDevolver = this.chequearTurno(); int cantidadAAvanzar = this.tirarDado(); this.avanzar(cantidadAAvanzar); this.celdaActual.afectar(this); - this.turnos++; this.gladiador.mejorarSeniority(this.turnos); - this.aumentarEnergiaConSeniority(); + this.gladiador.aumentarEnergiaConSeniority(); + return aDevolver; } - public void aumentarEnergiaConSeniority() { - this.gladiador.aumentarEnergiaConSeniority(); + public boolean chequearTurno(){ + if (this.turnos != 30) { + this.turnos ++; + return true; + } else { + //juego.terminarPartida(); + return false; + } } public boolean tieneTurnosIgualA(int cantidad) { @@ -40,6 +48,8 @@ public boolean estaEnCelda(int x, int y) { return (this.celdaActual.tieneCoordenadas(x, y)); } + // -- REFACTOR -- // + //public void recibirImpacto(Afectante afectante); public void recibirEnergia(int aumentoEnergia) { this.gladiador.recibirEnergia(aumentoEnergia); } @@ -55,6 +65,7 @@ public void recibirAtaque() { public void recibirDanio(int danio) { this.gladiador.recibirDanio(danio); } + // -- REFACTOR -- // public boolean totalmenteEquipado(){ return this.gladiador.totalmenteEquipado(); diff --git a/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java b/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java index 147532264..f843104cd 100644 --- a/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java +++ b/src/main/test/edu/fiuba/algo3/entregas/CasosDeUsoSemana1Test.java @@ -201,8 +201,7 @@ public void test11AlTenerLaLlaveYrecibirOtroPremioNoCambiaNada() { Jugador jugador = new Jugador(gladiador, celdaInicial); Afectante mejorador = new MejorarEquipamiento(); Fiera fiera = new Fiera(); - int energiaInicial = 20; - int energiaEsperada = energiaInicial; + int energiaEsperada = 20; // igual a la energia inicial // El jugador obtiene la llave for (int i = 0; i < 4; i++) { @@ -218,7 +217,23 @@ public void test11AlTenerLaLlaveYrecibirOtroPremioNoCambiaNada() { @Test public void test12AlPasarTreintaTurnosYnadieLlegaAlaMetaSeTerminoElJuego() { - // Logica de ganar. - } + CeldaInicial celdaInicial = new CeldaInicial(); + int cantidadCeldas = 3; + Tablero tablero = new Tablero(cantidadCeldas, celdaInicial); + tablero.armarMapa(); + + Gladiador gladiador1 = new Gladiador(); + Gladiador gladiador2 = new Gladiador(); + Jugador jugador1 = new Jugador(gladiador1, celdaInicial); + Jugador jugador2 = new Jugador(gladiador2, celdaInicial); + + for (int i = 0; i < 30; i++) { + jugador1.jugarTurno(); + jugador2.jugarTurno(); + } + + Assertions.assertFalse(jugador1.jugarTurno()); + Assertions.assertFalse(jugador2.jugarTurno()); + } }