public void QueElBloqueSeaDañandoPorUnProyectilYSeaDestruido() { BloqueDeLadrillos bloque = new BloqueDeLadrillos(new Casillero(1, 1)); Proyectil proyectil = new Proyectil(); bloque.DaniarConProyectil(proyectil); Assert.IsTrue(bloque.FueDestruido()); }
//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 Proyectil(); bomba.Duenio = this; } else if (bomba.EstaActivada) { return; } this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna); tablero.AgregarBomba(bomba); int filaBombita = tablero.PosicionBombita.Fila; int columnaBombita = tablero.PosicionBombita.Columna; Proyectil proyectil = (Proyectil)this.bomba; bomba.ActivarBomba(); /* 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 QueElBloqueNoSeaDañandoPorUnProyectilYQuedeResistencia5() { BloqueDeCemento bloque = new BloqueDeCemento(new Casillero(1, 1)); Proyectil proyectil = new Proyectil(); bloque.DaniarConProyectil(proyectil); Assert.IsFalse(bloque.FueDestruido()); Assert.AreEqual(5, bloque.Resistencia); }
public void QueElBloqueNoSeaDañandoPorUnProyectil() { BloqueDeAcero bloque = new BloqueDeAcero(); int resistenciaAnterior = bloque.Resistencia; Proyectil proyectil = new Proyectil(); bloque.DaniarConProyectil(proyectil); Assert.IsFalse(bloque.FueDestruido()); Assert.AreEqual(resistenciaAnterior, bloque.Resistencia); }
public void QueLopezRSeaDañandoPorUnProyectilLeQuiteUnaVida() { LopezR lopez = new LopezR(); Proyectil proyectil = new Proyectil(); lopez.DaniarConProyectil(proyectil); Assert.AreEqual(5,lopez.Resistencia); }
public void QueCecilioSeaDañandoPorUnProyectilLeQuiteUnaVida() { Cecilio cecilio = new Cecilio(); Proyectil proyectil = new Proyectil(); cecilio.DaniarConProyectil(proyectil); Assert.IsTrue(cecilio.FueDestruido()); }
public void PruebaQueUnProyectilCuandoSeActivaLuegoDeQuePaseUnTiempo0EsteDestruida() { Tablero tablero = new Tablero(); Proyectil bomba = new Proyectil(); tablero.AgregarEntidadEnCasillero(bomba, 0, 0); bomba.ActivarBomba(); bomba.CuandoPaseElTiempo(0); Assert.IsTrue(bomba.FueDestruido()); }
public void PruebaQueUnProyectilSoloPuedaMoverse4Casilleros() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.MoverAbajo(); proyectil.CuandoPaseElTiempo(0); Assert.IsTrue(proyectil.FueDestruido()); }
public void PruebaQueUnProyectilPuedaMoverseAUnCasilleroVacio() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); Assert.Throws<CasilleroFueraDeRangoException>(() => proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.OESTE, tablero))); Assert.IsTrue(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.ESTE, tablero))); }
public void PruebaQueUnProyectilNoPuedaMoverseAUnCasilleroConUnaEntidad() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); BloqueDeAcero bloque = new BloqueDeAcero(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bloque, 0, 1); Assert.IsFalse(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.ESTE, tablero))); Assert.IsTrue(proyectil.PuedeMoverseA(proyectil.Posicion.ObtenerCasilleroAdyacenteEnLaDireccionYElTablero(Entidad.SUR, tablero))); }
public void PruebaQueUnProyectilCuandoSeEncuentraConUnBloqueLoDania() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); BloqueDeLadrillos bloque = new BloqueDeLadrillos(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bloque, 0, 1); proyectil.MoverDerecha(); proyectil.CuandoPaseElTiempo(0); Assert.IsTrue(bloque.FueDestruido()); }
public void QueLopezRAladoSeaDañandoPorUnProyectilLeQuiteUnaVida() { LopezRAlado lopez = new LopezRAlado(); Proyectil proyectil = new Proyectil(); lopez.DaniarConProyectil(proyectil); Assert.IsTrue(lopez.FueDestruido()); }
public void PruebaQueCuandoUnProyectilExploteDanieAUnBombitaQueEsteAlLado() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 4, 1);// Arranca en (0,0) Proyectil bomba = new Proyectil(); tablero.AgregarEntidadEnCasillero(bomba, 0, 2); bomba.MoverAbajo(); bomba.MoverAbajo(); bomba.MoverAbajo(); bomba.MoverAbajo(); Assert.AreEqual(4, bomba.Posicion.Fila); Assert.AreEqual(2, bomba.Posicion.Columna); bomba.CuandoPaseElTiempo(0); Assert.AreEqual(2, bombita.Vidas); }
public void CreaUnTableroConBombitaYUnProyectilYSeColisionanEntoncesBombitaPierdeUnaVida() { Tablero tablero = new Tablero(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0) Proyectil bomba = new Proyectil(); tablero.AgregarEntidadEnCasillero(bomba, 0, 2); bomba.MoverIzquierda(); bomba.MoverIzquierda(); bomba.CuandoPaseElTiempo(0); Assert.AreEqual(0, bombita.Posicion.Fila); Assert.AreEqual(0, bombita.Posicion.Columna); Assert.AreEqual(2, bombita.Vidas); Assert.IsNull(bomba.Posicion); }
private void MoverProyectil(Proyectil proyectil) { if (proyectil.Duenio.Direccion == "este") { if (proyectil.posicionEnVentana.X + Game1.TexturasBombas["proyectil"].Width >= tablero.Dimension * proyectil.Posicion.textura.Width) return; Casillero casilleroSup; try { casilleroSup = tablero.ObtenerCasillero(proyectil.Posicion.Fila, proyectil.Posicion.Columna + 1); } catch (Exception) { return; } if ((casilleroSup != null) && (proyectil.posicionEnVentana.X + Game1.TexturasBombas["proyectil"].Width / 2 >= casilleroSup.posicionEnVentana.X + casilleroSup.textura.Width / 2)) { proyectil.MoverDerecha(); } proyectil.posicionEnVentana.X += proyectil.Velocidad; } if (proyectil.Duenio.Direccion == "oeste") { if (proyectil.posicionEnVentana.X <= 0) return; Casillero casilleroSup; try { casilleroSup = tablero.ObtenerCasillero(proyectil.Posicion.Fila , proyectil.Posicion.Columna -1); } catch (Exception) { return; } if ((casilleroSup != null) && (proyectil.posicionEnVentana.X + Game1.TexturasBombas["proyectil"].Width / 2 <= casilleroSup.posicionEnVentana.X + casilleroSup.textura.Width / 2)) { proyectil.MoverIzquierda(); } proyectil.posicionEnVentana.X -= proyectil.Velocidad; } if (proyectil.Duenio.Direccion == "norte") { if (proyectil.posicionEnVentana.Y <= 0) return; Casillero casilleroSup; try { casilleroSup = tablero.ObtenerCasillero(proyectil.Posicion.Fila - 1, proyectil.Posicion.Columna); } catch (Exception) { return; } if ((casilleroSup != null) && (proyectil.posicionEnVentana.Y + Game1.TexturasBombas["proyectil"].Height / 2 <= casilleroSup.posicionEnVentana.Y + casilleroSup.textura.Height / 2)) { proyectil.MoverArriba(); } proyectil.posicionEnVentana.Y -= proyectil.Velocidad; } if (proyectil.Duenio.Direccion == "sur") { if (proyectil.posicionEnVentana.Y + Game1.TexturasBombas["proyectil"].Height >= tablero.Dimension * proyectil.Posicion.textura.Height) return; Casillero casilleroSup; try { casilleroSup = tablero.ObtenerCasillero(proyectil.Posicion.Fila + 1, proyectil.Posicion.Columna); } catch (Exception) { return; } if ((casilleroSup != null) && (proyectil.posicionEnVentana.Y + Game1.TexturasBombas["proyectil"].Height / 2 >= casilleroSup.posicionEnVentana.Y + casilleroSup.textura.Height / 2)) { proyectil.MoverAbajo(); } proyectil.posicionEnVentana.Y += proyectil.Velocidad; } }
public void PruebaQueUnProyectilCuandoSeEncuentraUnPersonajeLoDania() { Tablero tablero = new Tablero(); Proyectil proyectil = new Proyectil(); Bombita bombita = new Bombita(); tablero.AgregarEntidadEnCasillero(proyectil, 0, 0); tablero.AgregarEntidadEnCasillero(bombita, 1, 0); proyectil.MoverAbajo(); proyectil.CuandoPaseElTiempo(0); Assert.AreEqual(2, bombita.Vidas); }
public override void DaniarConProyectil(Proyectil proyectil) { DaniarConBomba(); }
public void QueBombitaSeaDañandoPorUnProyectilLeQuiteUnaVida() { Bombita bombita = new Bombita(); Proyectil proyectil = new Proyectil(); bombita.DaniarConProyectil(proyectil); Assert.Less(bombita.Vidas, 3); }