Skip to content

Commit

Permalink
sumo parte de la implementacion de la rama refactor_rama_1
Browse files Browse the repository at this point in the history
  • Loading branch information
Damlima committed Nov 22, 2023
1 parent 8f784df commit c1e5877
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 44 deletions.
19 changes: 4 additions & 15 deletions src/main/java/edu/fiuba/algo3/modelo/Gladiador.java
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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() {
Expand All @@ -67,8 +60,4 @@ public String obtenerNombre() {

public void lesion() {
}

public void efecto() {
this.casilla.aplicarEfecto(this);
}
}
10 changes: 7 additions & 3 deletions src/main/java/edu/fiuba/algo3/modelo/nivel/Nivel.java
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}

}
13 changes: 5 additions & 8 deletions src/main/java/edu/fiuba/algo3/modelo/nivel/Novato.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

}
12 changes: 4 additions & 8 deletions src/main/java/edu/fiuba/algo3/modelo/nivel/SemiSenior.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
11 changes: 3 additions & 8 deletions src/main/java/edu/fiuba/algo3/modelo/nivel/Senior.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -143,15 +143,15 @@ 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++) {
gladiador.jugar();
}

// Sube a semi senior
assertEquals(semiSenior.getClass(), gladiador.getNivel().getClass());
assertTrue(gladiador.tenesElNivel(semiSenior));

gladiador.jugar();
//sube 5 puntos de los 20 iniciales
Expand Down

0 comments on commit c1e5877

Please sign in to comment.