public void BombitaAgarraUnArticuloBombaToleToleYAniquilaACecilio() { Punto posInicio = new Punto(3, 0); Punto posInicioCecilio = new Punto(6, 2); Personaje unBombita = new Bombita(posInicio); Personaje unEnemigo = new Cecilio(posInicioCecilio); //Agrego articulo Punto posicionCasillaArt = new Punto(4, 0); Casilla CasillaConArticulo = 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); unJuego.AgregarEnemigo(unEnemigo); unBombita.Movimiento.CambiarADerecha(); unBombita.Mover(); // 4,0, como articulo. unBombita.Movimiento.CambiarAArriba(); unBombita.Mover(); // 4,1 unBombita.Mover(); // 4,2 unBombita.LanzarExplosivo(); unBombita.Movimiento.CambiarAIzquierda(); unBombita.Mover(); // 3,2 unBombita.Mover(); // 2,2 unEnemigo.Movimiento.CambiarAAbajo(); unBombita.Mover(); // 2,1 bombita se oculta System.Threading.Thread.Sleep(5000);//Pasan 5 segundos unJuego.AvanzarElTiempo(); Assert.IsTrue(unEnemigo.Destruido()); }
public void CuandoEnOtroMapaAgrego2PersonajesEliminoAlUnicoEnemigoYSeActivaLaSalida() { // 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); Casilla unaCasillaDeSalida = Juego.Instancia().Ambiente.ObtenerCasilla(pUnaSalida); unaCasillaDeSalida.agregarSalida(Juego.Instancia().Salida); Cecilio unCecil = new Cecilio(pUnCecilio); Bombita unBombita = new Bombita(pBombita); BombaMolotov unaBomba = new BombaMolotov(pUnaBombaMolotov, 0); otroMapa.AgregarPersonaje(unBombita); otroMapa.AgregarPersonaje(unCecil); Juego.Instancia().EnemigosVivos.Add(unCecil); Casilla casillaBomba = otroMapa.ObtenerCasilla(pUnaBombaMolotov); Juego.Instancia().AlojarExplosivo(unaBomba); System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.AreEqual(0, Juego.Instancia().CantidadEnemigosVivos()); Assert.IsTrue(Juego.Instancia().Ambiente.ObtenerCasilla(pUnaSalida).ArticuloContenido.EstaActivo ); }
public void TransitarCasillaNoHaceQueUnPersonajeDeOtraClaseTransiteEsaCasilla() { Cecilio unCeci = new Cecilio(new Punto(7, 2)); Casilla unaCas = Juego.Instancia().Ambiente.ObtenerCasilla(new Punto(7, 2)); unaCas.Transitar(unCeci); Assert.IsFalse(unaCas.TransitaEnCasillaUn(new Bombita(new Punto(7, 2)))); }
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 CecilioPlantaUnaBombaEnUnaCasillaTransitadaPorVariosEnemigosYEstosMuerenTodosPorElloNoHayNadieTransitandoDespues() { Punto puntoTransito = new Punto(5,0); Cecilio unCecilio = new Cecilio(puntoTransito); Cecilio otroCecilio = new Cecilio(puntoTransito); Cecilio Cecilio = new Cecilio(puntoTransito); LosLopezReggaeAlado unLRA = new LosLopezReggaeAlado(puntoTransito); LosLopezReggaeAlado otroLRA = new LosLopezReggaeAlado(puntoTransito); LosLopezReggaeAlado LRA = new LosLopezReggaeAlado(puntoTransito); Casilla casillaTransitada = Juego.Instancia().Ambiente.ObtenerCasilla(puntoTransito); casillaTransitada.Transitar(unCecilio); casillaTransitada.Transitar(Cecilio); casillaTransitada.Transitar(otroCecilio); casillaTransitada.Transitar(unLRA); casillaTransitada.Transitar(LRA); casillaTransitada.Transitar(otroLRA); Assert.AreEqual(casillaTransitada.TransitandoEnCasilla.Count, 6); unCecilio.LanzarExplosivo(); Assert.IsInstanceOf(typeof(BombaMolotov), casillaTransitada.Explosivo); System.Threading.Thread.Sleep(3000); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); Assert.IsTrue(unCecilio.Destruido()); Assert.IsTrue(LRA.Destruido()); Assert.IsTrue(otroCecilio.Destruido()); Assert.IsTrue(Cecilio.Destruido()); Assert.IsTrue(unLRA.Destruido()); Assert.IsTrue(otroLRA.Destruido()); Assert.AreEqual(casillaTransitada.TransitandoEnCasilla.Count, 0); }
public void CuandoGeneroUnMapaNuevoYElimino1EnemigoConToleToleRestaUnEnemigoVivo() { int cantEnemigos = this.unJuego.CantidadEnemigosVivos(); Punto p = new Punto(2, 2); Personaje bombita = new Bombita(p); this.unJuego.Ambiente.AgregarPersonaje(bombita); Cecilio unCeci = new Cecilio(p); this.unJuego.AgregarEnemigo(unCeci); bombita.CambiarLanzadorAToleTole(); bombita.LanzarExplosivo(); bombita.Movimiento.CambiarADerecha(); bombita.Mover(); bombita.Mover(); bombita.Movimiento.CambiarAAbajo(); bombita.Mover(); System.Threading.Thread.Sleep(5000);//Pasan 5 segundos this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); Assert.AreEqual(this.unJuego.CantidadEnemigosVivos(), cantEnemigos); }
public void CuandoGeneroUnMapaNuevoYAgregoAUnEnemigoLaCantidadDeEnemigosAumentaAen1() { int enemigosVivos = this.unJuego.CantidadEnemigosVivos(); Punto pCecilio = new Punto(0, 1); Cecilio unCecilio = new Cecilio(pCecilio); this.unJuego.AgregarEnemigo(unCecilio); Assert.AreEqual(this.unJuego.CantidadEnemigosVivos(), enemigosVivos+1); }
public void CuandoExplotaUnaBombaToleToleYTieneUnCasilleroAbajoConCecilioLoDestruye() { Punto posicionBomba = new Punto(2, 3); Punto posicionCecilio = new Punto(2, 2); Cecilio cecilio = new Cecilio(posicionCecilio); Casilla casillaCecilio = unMapa.ObtenerCasilla(posicionCecilio); Casilla casillaBomba = unMapa.ObtenerCasilla(posicionBomba); Bomba unaBomba = new BombaToleTole(posicionBomba, 0); casillaCecilio.Transitar(cecilio); casillaBomba.PlantarExplosivo(unaBomba); unaBomba.Explotar(); Assert.AreEqual(cecilio.UnidadesDeResistencia, 0); }
public void CuandoCecilioSeParaArribaDeUnPasilloConTimerNOComeElItem() { 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 Cecilio(posOrigen); int retardo = 0; destino.Transitar(unEnemigo); Assert.AreEqual(retardo, unEnemigo.Lanzador.RetardoExplosion); }
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 CuandoCecilioSeParaArribaDeUnPasilloConArticuloBombaToleToleNOComeElItem() { 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 Cecilio(posOrigen); destino.Transitar(unEnemigo); Assert.IsInstanceOf(typeof(LanzadorMolotov), unEnemigo.Lanzador); }
public void AgregarUnMovilConPosicionFueraDeRangoLanzaPuntoFueraDeRangoEnMapaException() { pos = new Punto(ANCHOMAPA + 1, ALTOMAPA - 1); IMovible movil = new Cecilio(pos); try { otroMapa.AgregarPersonaje(movil); Assert.Fail(); } catch (PuntoFueraDeRangoEnMapaException) { Assert.Pass("Exception correcta fue lanzada."); } catch (System.Exception) { Assert.Fail(); } }
public void CuandoCecilioPlantaUnaMolotovDestruyendoABombitaYSafa() { Punto pBombita = new Punto(0, 0); Punto pCecil = new Punto(0, 1); Bombita bombita = new Bombita(pBombita); Cecilio unCecil = new Cecilio(pCecil); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); Juego.Instancia().Ambiente.AgregarPersonaje(unCecil); unCecil.LanzarExplosivo(); unCecil.Movimiento.CambiarAAbajo(); unCecil.Mover(); unCecil.Movimiento.CambiarADerecha(); unCecil.Mover(); //escapa Cecilio antes de que explote System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.IsFalse(unCecil.Destruido()); Assert.IsTrue(bombita.Destruido()); }
public void CuandoCecilioPlantaUnaMolotovDestruyendoABombitaYASiMismo() { Punto pBombita = new Punto(1, 0); Punto pCecil = new Punto(0, 0); Bombita bombita = new Bombita(pBombita); Cecilio unCecil = new Cecilio(pCecil); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); Juego.Instancia().Ambiente.AgregarPersonaje(unCecil); unCecil.LanzarExplosivo(); System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.IsTrue(unCecil.Destruido()); Assert.IsTrue(bombita.Destruido()); }
public void CuandoBombmitaPlantaUnaToleToleYNoDestruyeACecilioUbicadoDetrasDeUnBloqueDeAcero() { Punto pBombita = new Punto(1, 0); Punto pCecil = new Punto(1, 2); //Cecil ubicado detras del bloque Punto pBloqueAcero = new Punto(1, 1); Bombita bombita = new Bombita(pBombita); Cecilio unCecil = new Cecilio(pCecil); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); 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.IsInstanceOf(typeof(Pasillo), Juego.Instancia().Ambiente.ObtenerCasilla(pBloqueAcero).Estado); }
public void CuandoCecilioSeParaArribaDeUnPasilloConChalaNOComeElItem() { 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 Cecilio(posOrigen); float velocidad = unEnemigo.Movimiento.Velocidad; destino.Transitar(unEnemigo); Assert.AreEqual(velocidad, unEnemigo.Movimiento.Velocidad); }
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); }