public void ProyectilChocaConBloqueDeAceroYAlPasarUnTiempoExplotaYDaniaPersonaje() { Personaje personaje = new LosLopezReggae(new Punto(2, 7)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); personaje.Movimiento.CambiarADerecha(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(personaje.UnidadesDeResistencia, 9); }
public void ProyectilChocaConBloqueLadrillosYAlPasarUnTiempoDaniaEn1ABloqueDeLadrillosYDeCemento() { Personaje personaje = new LosLopezReggae(new Punto(8, 8)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); personaje.Movimiento.CambiarADerecha(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(9, 8)).Estado.UnidadesDeResistencia, 4); Assert.AreEqual(Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(10, 8)).Estado.UnidadesDeResistencia, 9); }
public void ProyectilChocaConBloqueDeAceroYAlPasarUnTiempoExplotaYNoDaniaBloquesAcero() { //Juego.Reiniciar(); Personaje personaje = new LosLopezReggae(new Punto(2, 7)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); personaje.Movimiento.CambiarADerecha(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(1, 7)).Estado.UnidadesDeResistencia, 10); Assert.AreEqual(Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(3, 7)).Estado.UnidadesDeResistencia, 10); }
public void LanzadorDisparaProyectilHaciaUnBloqueDeAceroVariasVecesHastaQueMuereYElBloqueNoSeDania() { Personaje personaje = new LosLopezReggae(new Punto(10, 11)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); int iteracion; int vida = personaje.UnidadesDeResistencia; personaje.Movimiento.CambiarAIzquierda(); int vidaBloque = Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(9, 11)).Estado.UnidadesDeResistencia; for (iteracion = 0; iteracion < 10; iteracion++) { personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); } Assert.AreEqual(personaje.UnidadesDeResistencia, 0); Assert.AreEqual(vidaBloque, Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(9, 11)).Estado.UnidadesDeResistencia); }
public void CuandoEnOtroMapaAgrego3PersonajesEliminoSoloUnEnemigoYNoSeActivaLaSalida() { // agrego articulo Tablero otroMapa = Juego.Instancia().Ambiente; Punto pUnaSalida = new Punto(3, 3); Punto pUnCecilio = new Punto(2, 1); Punto pUnaBombaMolotov = new Punto(2, 0); Punto pBombita = new Punto(4, 4); Punto pLopez = new Punto(4, 3); Casilla unaCasillaDeSalida = Juego.Instancia().Ambiente.ObtenerCasilla(pUnaSalida); Salida salida = new Salida(); unaCasillaDeSalida.agregarSalida(salida); Assert.IsInstanceOf(typeof(Salida), Juego.Instancia().Ambiente.ObtenerCasilla(pUnaSalida).ArticuloContenido); Cecilio unCecil = new Cecilio(pUnCecilio); Bombita unBombita = new Bombita(pBombita); BombaMolotov unaBomba = new BombaMolotov(pUnaBombaMolotov, 0); LosLopezReggae lopez = new LosLopezReggae(pLopez); otroMapa.AgregarPersonaje(unBombita); otroMapa.AgregarPersonaje(unCecil); Juego.Instancia().EnemigosVivos.Add(unCecil); otroMapa.AgregarPersonaje(lopez); Juego.Instancia().EnemigosVivos.Add(lopez); Juego.Instancia().AlojarExplosivo(unaBomba); System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.AreEqual(Juego.Instancia().CantidadEnemigosVivos(),1); Assert.IsFalse(Juego.Instancia().Ambiente.ObtenerCasilla(pUnaSalida).ArticuloContenido.EstaActivo); }
public void CuandoLosLopezReggaeSeParaArribaDeUnPasilloConChalaNOComeElItem() { Punto posDestino = new Punto(1, 1); Punto posOrigen = new Punto(0, 1); Casilla destino = FabricaDeCasillas.FabricarPasillo(posDestino); Casilla origen = FabricaDeCasillas.FabricarPasillo(posOrigen); Articulo unArticulo = new Chala(); destino.ArticuloContenido = unArticulo; Personaje unEnemigo = new LosLopezReggae(posOrigen); float velocidad = unEnemigo.Movimiento.Velocidad; destino.Transitar(unEnemigo); Assert.AreEqual(velocidad, unEnemigo.Movimiento.Velocidad); }
public void CuandoLosLopezReggaeSeParaArribaDeUnPasilloConArticuloBombaToleToleNOComeElItem() { Punto posDestino = new Punto(1, 1); Punto posOrigen = new Punto(0, 1); Casilla destino = FabricaDeCasillas.FabricarPasillo(posDestino); Casilla origen = FabricaDeCasillas.FabricarPasillo(posOrigen); Articulo unArticulo = new ArticuloBombaToleTole(); destino.ArticuloContenido = unArticulo; Personaje unEnemigo = new LosLopezReggae(posOrigen); destino.Transitar(unEnemigo); Assert.IsInstanceOf(typeof(LanzadorProyectil), unEnemigo.Lanzador); }
public void AgregarUnMovilConPosicionNulaLanzaPosicionNulaException() { pos = null; IMovible movil = new LosLopezReggae(pos); try { otroMapa.AgregarPersonaje(movil); Assert.Fail(); } catch (PosicionNulaException) { Assert.Pass("Exception correcta fue lanzada."); } catch (System.Exception) { Assert.Fail(); } }
public void BombitaAgarraUnArticuloBombaToleToleYAniquilaALosLopezReggae() { Punto posInicio = new Punto(0, 0); Punto posLR = new Punto(0, 1); Personaje unBombita = new Bombita(posInicio); Personaje unEnemigo = new LosLopezReggae(posLR); //Agrego articulo Punto posicionCasillaArt = new Punto(1, 0); Casilla CasillaConArticulo = this.unJuego.Ambiente.ObtenerCasilla(posicionCasillaArt); Articulo unArticulo = new ArticuloBombaToleTole(); CasillaConArticulo.ArticuloContenido = unArticulo; ; //Pongo un articulo en el pasillo para agarrarlo con bombita. unJuego.Ambiente.AgregarPersonaje(unBombita); unJuego.Ambiente.AgregarPersonaje(unEnemigo); unBombita.Movimiento.CambiarADerecha(); unBombita.Mover(); // 1,0, como articulo. Assert.IsInstanceOf(typeof(Bombita), Juego.Instancia().Ambiente.ObtenerCasilla(posicionCasillaArt).TransitandoEnCasilla[0]); Assert.IsInstanceOf(typeof(LanzadorToleTole), unBombita.Lanzador); unBombita.Movimiento.CambiarAIzquierda(); unBombita.Mover(); // 0,0 unBombita.LanzarExplosivo(); System.Threading.Thread.Sleep(5000);//Pasan 5 segundos unJuego.AvanzarElTiempo(); Assert.IsTrue(unEnemigo.Destruido()); }
public void CuandoBombmitaPlantaUnaToleToleDestruyendoATodosLosPersonajesYObstaculosDentroDeSuAlcancePeroNoLosQueEstanAtrasDeUnBloque() { Punto pBombita = new Punto(1, 0); Punto pLopezReggae = new Punto(1, 2); Punto pLopezReggaeAlado = new Punto(2, 0); Punto pCecil = new Punto(1, 3); Punto pBloqueAcero = new Punto(1, 1); Bombita bombita = new Bombita(pBombita); Cecilio unCecil = new Cecilio(pCecil); LosLopezReggae lRG = new LosLopezReggae(pLopezReggae); LosLopezReggaeAlado lRGA = new LosLopezReggaeAlado(pLopezReggaeAlado); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); Juego.Instancia().Ambiente.AgregarPersonaje(lRG); Juego.Instancia().Ambiente.AgregarPersonaje(lRGA); Juego.Instancia().Ambiente.AgregarPersonaje(unCecil); bombita.CambiarLanzadorAToleTole(); bombita.LanzarExplosivo(); System.Threading.Thread.Sleep(5000);//Pasan 5 segundos unJuego.AvanzarElTiempo(); Assert.IsFalse(unCecil.Destruido()); Assert.IsTrue(bombita.Destruido()); Assert.IsTrue(lRGA.Destruido()); Assert.IsFalse(lRG.Destruido()); Assert.IsInstanceOf(typeof(Pasillo), Juego.Instancia().Ambiente.ObtenerCasilla(pBloqueAcero).Estado); }
public void TiroCincoProyectilesAUnLadrilloYElMismoSeDestruye() { Personaje unTipoQueTiraProyectiles = new LosLopezReggae(new Punto(11, 12)); unTipoQueTiraProyectiles.Movimiento.CambiarADerecha(); unTipoQueTiraProyectiles.LanzarExplosivo(); unTipoQueTiraProyectiles.LanzarExplosivo(); unTipoQueTiraProyectiles.LanzarExplosivo(); unTipoQueTiraProyectiles.LanzarExplosivo(); unTipoQueTiraProyectiles.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.IsInstanceOf(typeof(Pasillo), Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(14, 12)).Estado); }
public void LopezReggaeDisparaProyectilHaciaBloqueDeLadrilloAlImpactarDisminuyeSuResistenciaEnUnaUnidad() { Punto PosicionDePartida = new Punto(5, 0); LosLopezReggae personaje = new LosLopezReggae(PosicionDePartida); Casilla casillaConBloqueDeLadrillo = this.unJuego.Ambiente.ObtenerCasilla(new Punto(2, 0)); int resistenciaBloque = casillaConBloqueDeLadrillo.Estado.UnidadesDeResistencia; //casillaAux.Estado = BloqueComun.CrearBloqueLadrillos(); this.unJuego.AgregarEnemigo(personaje); personaje.Movimiento.CambiarAIzquierda(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(resistenciaBloque - 1, casillaConBloqueDeLadrillo.Estado.UnidadesDeResistencia); }
public void TiroUnProyectilPorUnCaminoVacioYComoTieneAlcanceTresNoDaniaAlLanzador() { Personaje unTipoQueTiraProyectiles = new LosLopezReggae(new Punto(13, 6)); unTipoQueTiraProyectiles.Movimiento.CambiarADerecha(); int vida = unTipoQueTiraProyectiles.UnidadesDeResistencia; unTipoQueTiraProyectiles.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(vida, unTipoQueTiraProyectiles.UnidadesDeResistencia); }
public void TiroUnProyectilAUnaPosicionDeDistanciaDelBordeDelMapaYElLanzadorRecibeDanios() { Personaje unTipoQueTiraProyectiles = new LosLopezReggae(new Punto(15, 6)); Juego.Instancia().Ambiente.AgregarPersonaje(unTipoQueTiraProyectiles); unTipoQueTiraProyectiles.Movimiento.CambiarADerecha(); int vida = unTipoQueTiraProyectiles.UnidadesDeResistencia; unTipoQueTiraProyectiles.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(vida - 1, unTipoQueTiraProyectiles.UnidadesDeResistencia); }
public void TiroUnProyectilAUnaCasillasDeDistanciaYLosObjetosGolpeadosBajanSuResistenciaEnUnaUnidad() { Personaje unTipoQueTiraProyectiles = new LosLopezReggae(new Punto(15, 6)); unTipoQueTiraProyectiles.Movimiento.CambiarADerecha(); unTipoQueTiraProyectiles.LanzarExplosivo(); int resistenciaLadrillo1 = Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(16, 5)).Estado.UnidadesDeResistencia; int resistenciaLadrillo2 = Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(16, 7)).Estado.UnidadesDeResistencia; System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(resistenciaLadrillo1 - 1, Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(16, 5)).Estado.UnidadesDeResistencia); Assert.AreEqual(resistenciaLadrillo2 - 1, Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(16, 7)).Estado.UnidadesDeResistencia); }
public void CuandoLosLopezReggaeSeParaArribaDeUnPasilloConTimerNOComeElItem() { Punto posDestino = new Punto(1, 1); Punto posOrigen = new Punto(0, 1); Casilla destino = FabricaDeCasillas.FabricarPasillo(posDestino); Casilla origen = FabricaDeCasillas.FabricarPasillo(posOrigen); Articulo unArticulo = new Timer(); destino.ArticuloContenido = unArticulo; Personaje unEnemigo = new LosLopezReggae(posOrigen); int retardo = 0; destino.Transitar(unEnemigo); Assert.AreEqual(retardo, unEnemigo.Lanzador.RetardoExplosion); }
public void CuandoExplotaUnaBombaMolotovYTieneUnCasilleroAbajoConLopezReggaeLoDania5Unidades() { Punto posicionBomba = new Punto(2, 3); Punto posicionLopezReggae = new Punto(2, 2); LosLopezReggae lopezReggae = new LosLopezReggae(posicionLopezReggae); Casilla casillaLopez = unMapa.ObtenerCasilla(posicionLopezReggae); Casilla casillaBomba = unMapa.ObtenerCasilla(posicionBomba); Bomba unaBomba = new BombaMolotov(posicionBomba, 0); casillaLopez.Transitar(lopezReggae); casillaBomba.PlantarExplosivo(unaBomba); unaBomba.Explotar(); Assert.AreEqual(lopezReggae.UnidadesDeResistencia, 5); }
public void ProyectilNoDebeAtravesarBloqueDeCemento() { Personaje personaje = new LosLopezReggae(new Punto(7, 12)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); personaje.Movimiento.CambiarADerecha(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(9, 12)).TransitandoEnCasilla.Count, 0); }
public void CuandoBombitaPlanta2MolotovDestruyendoALosLopezReggae() { Punto pBombita = new Punto(5, 0); Punto pLopezRaggae = new Punto(6, 1); Bombita bombita = new Bombita(pBombita); LosLopezReggae unLR = new LosLopezReggae(pLopezRaggae); unJuego.Ambiente.AgregarPersonaje(bombita); unJuego.AgregarEnemigo(unLR); bombita.Movimiento.CambiarADerecha(); bombita.Mover(); // pos Bombita = (6,0) bombita.LanzarExplosivo(); bombita.Mover(); // 7,0 le hace la gran Jay Jay Ococha y lo deja encerrado con la bomba bombita.Mover(); // 8,0 bombita.Movimiento.CambiarAArriba(); bombita.Mover(); // pos Bombita = (8,1) tiene que safar de la explosion para no morir System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.IsFalse(unLR.UnidadesDeResistencia == 0); //le quedan 5 puntos de vida Assert.IsFalse(bombita.Destruido()); //safo bombitaaa // como no lo mato vuelve bombita.Movimiento.CambiarAAbajo(); bombita.Mover(); bombita.Movimiento.CambiarAIzquierda(); bombita.Mover(); bombita.Mover(); bombita.LanzarExplosivo(); //no pudo escapar System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.IsTrue(unLR.UnidadesDeResistencia == 0); //le quedan 0 puntos de vida Assert.IsTrue(bombita.Destruido()); //esta vez no safo }
public void ProyectilNoImpactaACecilioYAlPasarTresTiemposExplotaYLoDania() { Personaje personaje = new LosLopezReggae(new Punto(6, 0)); Personaje cecilio = new Cecilio(new Punto(4, 0)); Juego.Instancia().Ambiente.AgregarPersonaje(personaje); Juego.Instancia().Ambiente.AgregarPersonaje(cecilio); int vida = cecilio.UnidadesDeResistencia; personaje.Movimiento.CambiarAIzquierda(); personaje.LanzarExplosivo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); System.Threading.Thread.Sleep(300); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(cecilio.UnidadesDeResistencia, vida - 1); }