public void PruebaLaCreacionDeUnaMolotov() { Molotov molotov = new Molotov(); Assert.AreEqual(5, molotov.Destruccion); Assert.AreEqual(1, molotov.Retardo); Assert.AreEqual(3, molotov.Rango); }
public void QueElBloqueSeaDañandoPorUnaMolotovYSeaDestruido() { BloqueDeLadrillos bloque = new BloqueDeLadrillos(new Casillero(1, 1)); Molotov molotov = new Molotov(); bloque.DaniarConMolotov(molotov); Assert.IsTrue(bloque.FueDestruido()); }
public void PruebaPosicionarUnaBombaEnLaCasilla() { Casillero casillero = new Casillero(0, 0); Molotov bomba = new Molotov(); casillero.Entidad = bomba; Assert.IsNotNull(casillero.Entidad); }
public void QueElBloqueSeaDañandoPorUnaMolotovYQuedeConResistencia5() { BloqueDeCemento bloque = new BloqueDeCemento(new Casillero(1, 1)); Molotov molotov = new Molotov(); bloque.DaniarConMolotov(molotov); Assert.IsFalse(bloque.FueDestruido()); Assert.AreEqual(5, bloque.Resistencia); }
public void QueElBloqueNoSeaDañandoPorUnaMolotov() { BloqueDeAcero bloque = new BloqueDeAcero(); int resistenciaAnterior = bloque.Resistencia; Molotov molotov = new Molotov(); bloque.DaniarConMolotov(molotov); Assert.IsFalse(bloque.FueDestruido()); Assert.AreEqual(resistenciaAnterior, bloque.Resistencia); }
public void PruebaQueUnaMolotovCuandoSeActivaYNoPasaTiempoNoEsteDestruida() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(0); Assert.IsFalse(bomba.FueDestruido()); }
public void PruebaQueUnaMolotovCuandoSeActivaLuegoDeQuePaseUnTiempo1EsteDestruida() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(1); Assert.IsTrue(bomba.FueDestruido()); }
public void PruebaQueUnaMolotovCuandoSeActivaSiSeQuiereVolverAExplotarLanceUnaExcepcion() { Tablero tablero = new Tablero(); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(5); Assert.Throws<EntidadYaDestruidaException>(() => bomba.ActivarBomba()); }
public override void LanzarBomba() { if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado { bomba = new Molotov(); } else if (bomba.EstaActivada) { return; } this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna); bomba.ActivarBomba(); }
//la lanza solo si bombita esta en su misma fila o columna public override void LanzarBomba() { if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado { bomba = new Molotov(); } else if (bomba.EstaActivada) { return; } this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna); int filaBombita = tablero.PosicionBombita.Fila; int columnaBombita = tablero.PosicionBombita.Columna; Proyectil proyectil = (Proyectil)this.bomba; if (filaBombita == posicion.Fila) { if ((columnaBombita - posicion.Columna) < 0) { for (int i = 0; i < bomba.Rango; i++) { proyectil.MoverIzquierda(); } } else { for (int i = 0; i < bomba.Rango; i++) { proyectil.MoverDerecha(); } } } if (columnaBombita == posicion.Columna) { if ((filaBombita - posicion.Fila) < 0) { for (int i = 0; i < bomba.Rango; i++) { proyectil.MoverArriba(); } } else { for (int i = 0; i < bomba.Rango; i++) { proyectil.MoverAbajo(); } } } }
public void PruebaQueUnaMolotovNoLoDestruya() { Tablero tablero = new Tablero(); Salida salida = new Salida(); tablero.AgregarEntidadEnCasillero(salida, 5, 5); Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 5, 6); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(5); Assert.IsFalse(salida.FueDestruido()); }
// Si son daniadas por cualquiera sea la otra bomba, explotan. public override void DaniarConMolotov(Molotov molotov) { this.Explotar(retardoAdquirido); }
public void QueLopezRSeaDañandoPorUnaMolotovLeQuiteUnaVida() { LopezR lopez = new LopezR(); Molotov molotov = new Molotov(); lopez.DaniarConMolotov(molotov); Assert.AreEqual(5,lopez.Resistencia); }
public void QueCecilioSeaDañandoPorUnaMolotovLeQuiteUnaVida() { Cecilio cecilio = new Cecilio(); Molotov molotov = new Molotov(); cecilio.DaniarConMolotov(molotov); Assert.IsTrue(cecilio.FueDestruido()); }
public void QueBombitaSeaDañandoPorUnaMolotovLeQuiteUnaVida() { Bombita bombita = new Bombita(); Molotov molotov = new Molotov(); bombita.DaniarConMolotov(molotov); Assert.Less(bombita.Vidas, 3); }
public void PruebaCrearOtraMolotov() { Molotov molotov = new Molotov(); Assert.AreEqual(5, molotov.Destruccion); }
// Bombita pierde una vida con cualquier bomba que se lo danie public override void DaniarConMolotov(Molotov molotov) { DaniarConBomba(); }
public void PruebaQueCasilleroEstaVacioDevuelvaFalseCuandoTieneUnaMolotovAdentroCuandoSeLoPasoEnUnSetter() { Casillero casillero = new Casillero(5, 6); Bomba bomba = new Molotov(); casillero.Entidad = bomba; Assert.IsFalse(casillero.EstaVacio()); Assert.AreEqual(5, bomba.Posicion.Fila); Assert.AreEqual(6, bomba.Posicion.Columna); }
public void PruebaQueCasilleroEstaVacioDevuelvaFalseCuandoTieneUnaMolotovAdentroCuandoLePasoLaPosicionDesdeMOLOTOV() { Casillero casillero = new Casillero(5, 4); Bomba bomba = new Molotov(casillero); Assert.IsFalse(casillero.EstaVacio()); Assert.AreEqual(5, bomba.Posicion.Fila); Assert.AreEqual(4, bomba.Posicion.Columna); }
public void CreaUnTableroConBombitaYUnaBombaYMueveABombitaHastaChocar() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0) Molotov bomba = new Molotov(); tablero.AgregarEntidadEnCasillero(bomba, 0, 2); bombita.MoverDerecha(); bombita.MoverDerecha(); //Con una bomba, no pasa nada, bombita no puede avanzar Assert.AreEqual(0, bombita.Posicion.Fila); Assert.AreEqual(1, bombita.Posicion.Columna); Assert.AreEqual(0, bomba.Posicion.Fila); Assert.AreEqual(2, bomba.Posicion.Columna); }
//Metodos abstractos a definir en los hijos public override void DaniarConMolotov(Molotov molotov) { }
// Deja una bomba activada en el lugar donde estaba public void LanzarBomba() { if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado { if (poseeBombaToleTole) { bomba = new ToleTole(); } else { bomba = new Molotov(); } bomba.RetardoAdquirido = porcentajeDeRetardo; bomba.Duenio = this; } else if (bomba.EstaActivada) { return; } this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna); tablero.AgregarBomba(bomba); bomba.ActivarBomba(); }
public void QueLopezRAladoSeaDañandoPorUnaMolotovLeQuiteUnaVida() { LopezRAlado lopez = new LopezRAlado(); Molotov molotov = new Molotov(); lopez.DaniarConMolotov(molotov); Assert.IsTrue(lopez.FueDestruido()); }