Skip to content

Commit

Permalink
Merge branch 'prueba' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisEFS committed Jun 4, 2019
2 parents 5f0a45b + 8a99093 commit 370d297
Show file tree
Hide file tree
Showing 10 changed files with 110 additions and 12 deletions.
25 changes: 25 additions & 0 deletions src/fiuba/algo3/tp2/herramienta/Hacha.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,35 @@

import fiuba.algo3.tp2.herramienta.durabilidad.Durabilidad;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;
import fiuba.algo3.tp2.material.*;

public class Hacha extends Herramienta {

public Hacha(Durabilidad durabilidad, Golpe golpe) {
super(durabilidad, golpe);
}

public void reducirDurabilidad(Madera madera) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(madera);
}

public void reducirDurabilidad(Piedra piedra) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(piedra);
}

public void reducirDurabilidad(Metal metal) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(metal);
}

public void reducirDurabilidad(Diamante diamante) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(diamante);
}
}
17 changes: 13 additions & 4 deletions src/fiuba/algo3/tp2/herramienta/Herramienta.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package fiuba.algo3.tp2.herramienta;

import fiuba.algo3.tp2.material.Material;
import fiuba.algo3.tp2.material.MaterialDestruidoNoSePuedeGolpearException;
import fiuba.algo3.tp2.material.*;
import fiuba.algo3.tp2.herramienta.durabilidad.Durabilidad;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;

Expand All @@ -24,11 +23,21 @@ public BigDecimal getDurabilidad() {
public void golpear(Material material)
throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(material);
// durabilidad.reducir();
// golpe.golpear(material);

material.reducir(this);
}

public BigDecimal getFuerza() {
return golpe.getFuerza();
}

public abstract void reducirDurabilidad(Madera madera) throws MaterialDestruidoNoSePuedeGolpearException;

public abstract void reducirDurabilidad(Piedra piedra) throws MaterialDestruidoNoSePuedeGolpearException;

public abstract void reducirDurabilidad(Metal metal) throws MaterialDestruidoNoSePuedeGolpearException;

public abstract void reducirDurabilidad(Diamante diamante) throws MaterialDestruidoNoSePuedeGolpearException;
}
25 changes: 25 additions & 0 deletions src/fiuba/algo3/tp2/herramienta/Pico.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,35 @@

import fiuba.algo3.tp2.herramienta.durabilidad.Durabilidad;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;
import fiuba.algo3.tp2.material.*;

public class Pico extends Herramienta {

public Pico(Durabilidad durabilidad, Golpe golpe) {
super(durabilidad, golpe);
}

public void reducirDurabilidad(Madera madera) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(madera);
}

public void reducirDurabilidad(Piedra piedra) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(piedra);
}

public void reducirDurabilidad(Metal metal) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(metal);
}

public void reducirDurabilidad(Diamante diamante) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(diamante);
}
}
24 changes: 18 additions & 6 deletions src/fiuba/algo3/tp2/herramienta/PicoFino.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,24 @@ public PicoFino(Durabilidad durabilidad, Golpe golpe) {
super(durabilidad, golpe);
}

@Override
public void golpear(Material material)
throws MaterialDestruidoNoSePuedeGolpearException {
public void reducirDurabilidad(Madera madera) throws MaterialDestruidoNoSePuedeGolpearException {

//durabilidad.reducir();
//Falta el caso de diamante en el que si se reduce la durabilidad.
golpe.golpear(material);
golpe.golpear(madera);
}

public void reducirDurabilidad(Piedra piedra) throws MaterialDestruidoNoSePuedeGolpearException {

golpe.golpear(piedra);
}

public void reducirDurabilidad(Metal metal) throws MaterialDestruidoNoSePuedeGolpearException {

golpe.golpear(metal);
}

public void reducirDurabilidad(Diamante diamante) throws MaterialDestruidoNoSePuedeGolpearException {

durabilidad.reducir();
golpe.golpear(diamante);
}
}
6 changes: 6 additions & 0 deletions src/fiuba/algo3/tp2/material/Diamante.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fiuba.algo3.tp2.material;

import fiuba.algo3.tp2.herramienta.Herramienta;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;

import java.math.BigDecimal;
Expand All @@ -13,4 +14,9 @@ public Diamante() {
public void golpearCon(Golpe golpe) throws MaterialDestruidoNoSePuedeGolpearException {
golpe.golpear(this);
}

public void reducir(Herramienta herramienta) throws MaterialDestruidoNoSePuedeGolpearException {

herramienta.reducirDurabilidad(this);
}
}
6 changes: 6 additions & 0 deletions src/fiuba/algo3/tp2/material/Madera.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fiuba.algo3.tp2.material;

import fiuba.algo3.tp2.herramienta.Herramienta;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;

import java.math.BigDecimal;
Expand All @@ -15,4 +16,9 @@ public Madera() {
public void golpearCon(Golpe golpe) throws MaterialDestruidoNoSePuedeGolpearException {
golpe.golpear(this);
}

public void reducir(Herramienta herramienta) throws MaterialDestruidoNoSePuedeGolpearException {

herramienta.reducirDurabilidad(this);
}
}
4 changes: 4 additions & 0 deletions src/fiuba/algo3/tp2/material/Material.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package fiuba.algo3.tp2.material;

import fiuba.algo3.tp2.herramienta.Herramienta;

import java.math.BigDecimal;

public abstract class Material implements Golpeable {
Expand Down Expand Up @@ -28,4 +30,6 @@ public void reducirDurabilidad(BigDecimal danio) throws MaterialDestruidoNoSePue
durabilidad = new BigDecimal(0);
}
}

public abstract void reducir(Herramienta herramienta) throws MaterialDestruidoNoSePuedeGolpearException;
}
6 changes: 6 additions & 0 deletions src/fiuba/algo3/tp2/material/Metal.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fiuba.algo3.tp2.material;

import fiuba.algo3.tp2.herramienta.Herramienta;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;

import java.math.BigDecimal;
Expand All @@ -13,4 +14,9 @@ public Metal() {
public void golpearCon(Golpe golpe) throws MaterialDestruidoNoSePuedeGolpearException {
golpe.golpear(this);
}

public void reducir(Herramienta herramienta) throws MaterialDestruidoNoSePuedeGolpearException {

herramienta.reducirDurabilidad(this);
}
}
6 changes: 6 additions & 0 deletions src/fiuba/algo3/tp2/material/Piedra.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package fiuba.algo3.tp2.material;

import fiuba.algo3.tp2.herramienta.Herramienta;
import fiuba.algo3.tp2.herramienta.golpe.Golpe;

import java.math.BigDecimal;
Expand All @@ -13,4 +14,9 @@ public Piedra() {
public void golpearCon(Golpe golpe) throws MaterialDestruidoNoSePuedeGolpearException {
golpe.golpear(this);
}

public void reducir(Herramienta herramienta) throws MaterialDestruidoNoSePuedeGolpearException {

herramienta.reducirDurabilidad(this);
}
}
3 changes: 1 addition & 2 deletions test/fiuba/algo3/tp2/herramienta/PicoFinoTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ public void dadoUnPicoFino_CuandoSeUsaUnaVezContraMetal_NoDeberiaDismiuirLaDurab

assertEquals(durabilidad, picoFino.getDurabilidad());
}
/*

@Test
public void dadoUnPicoFino_CuandoSeUsaUnaVezContraDiamante_DeberiaDisminuirLaDurabilidadEn100() throws Exception{

Expand All @@ -79,5 +79,4 @@ public void dadoUnPicoFino_CuandoSeUsaUnaVezContraDiamante_DeberiaDisminuirLaDur

assertEquals(durabilidad.subtract(new BigDecimal(100)), picoFino.getDurabilidad());
}
*/
}

0 comments on commit 370d297

Please sign in to comment.