public void LopezReggaeAladoPlantaUnaMolotovSeMueveFueraDeSuAlcanceYLuegoDeQueLaBombaExplotaVuelveYPlantaOtra() { Punto PosicionDePlantado = new Punto(0, 1); LosLopezReggaeAlado personaje = new LosLopezReggaeAlado(PosicionDePlantado); Juego.Instancia().Ambiente.ObtenerCasilla(PosicionDePlantado).Transitar(personaje); personaje.LanzarExplosivo(); personaje.Movimiento.CambiarADerecha(); personaje.Mover(); personaje.Mover(); personaje.Mover(); personaje.Mover(); System.Threading.Thread.Sleep(3000); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); this.unJuego.AvanzarElTiempo(); personaje.Movimiento.CambiarAIzquierda(); personaje.Mover(); personaje.Mover(); personaje.Mover(); personaje.Mover(); personaje.LanzarExplosivo(); Assert.IsInstanceOf(typeof(BombaMolotov), Juego.Instancia().Ambiente.ObtenerCasilla(PosicionDePlantado).Explosivo); Assert.IsFalse(personaje.Destruido()); }
public void UnLopezReggaeAladoNoAtraviesaElLimiteSuperiorDelMapa() { IMovible otroMovil = new LosLopezReggaeAlado(new Punto(4, ALTOMAPA-1)); this.unMapa.AgregarPersonaje(otroMovil); Punto posOriginal = otroMovil.Posicion.Clonar(); otroMovil.Movimiento.CambiarAArriba(); otroMovil.Mover();//choca con el limite superior Assert.IsTrue(otroMovil.Posicion.Equals(posOriginal)); }
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 UnLopezReggaeAladoAvanzaSobreUnObstaculoSuPosicionEsDistintaALaOriginal() { IMovible otroMovil = new LosLopezReggaeAlado(new Punto(1, 0)); Punto posOriginal = otroMovil.Posicion.Clonar(); this.unMapa.AgregarPersonaje(otroMovil); otroMovil.Movimiento.CambiarAArriba(); otroMovil.Mover(); //se mueve donde hay un bloque de acero Assert.IsFalse(otroMovil.Posicion.Equals(posOriginal)); }
public void UnLopezReggaeAladoNoAtraviesaElLimiteIzquierdoDelMapa() { IMovible otroMovil = new LosLopezReggaeAlado(new Punto(0, 0)); this.unMapa.AgregarPersonaje(otroMovil); Punto posOriginal = otroMovil.Posicion.Clonar(); otroMovil.Movimiento.CambiarAIzquierda(); otroMovil.Mover();//choca con el limite izquierdo Assert.IsTrue(otroMovil.Posicion.Equals(posOriginal)); }
public void CuandoExplotaUnaBombaMolotovYTieneUnCasilleroAbajoConLopezReggaeAladoLoDestruye() { Punto posicionBomba = new Punto(2, 3); Punto posicionAlado = new Punto(2, 2); LosLopezReggaeAlado alado = new LosLopezReggaeAlado(posicionAlado); Casilla casillaAlado = unMapa.ObtenerCasilla(posicionAlado); Casilla casillaBomba = unMapa.ObtenerCasilla(posicionBomba); Bomba unaBomba = new BombaMolotov(posicionBomba, 0); casillaAlado.Transitar(alado); casillaBomba.PlantarExplosivo(unaBomba); unaBomba.Explotar(); Assert.AreEqual(alado.UnidadesDeResistencia, 0); }
public void UnLopezReggaeAladoAtraviesaObstaculos() { IMovible otroMovil = new LosLopezReggaeAlado(new Punto(0, 0)); this.unMapa.AgregarPersonaje(otroMovil); otroMovil.Movimiento.CambiarAArriba(); otroMovil.Mover();//fue a 0,1 otroMovil.Movimiento.CambiarADerecha(); otroMovil.Mover();//fue a 1,1 (esta sobre un bloque de acero) otroMovil.Mover(); //fue a 2,1 (esta sobre pasillo) otroMovil.Mover();//fue a 3,1 (esta sobre un bloque de acero) otroMovil.Movimiento.CambiarAArriba(); otroMovil.Mover(); //fue a 3,2 (esta sobre pasillo) otroMovil.Mover();//fue a 3,3 (esta sobre un bloque de acero) otroMovil.Mover(); //fue a 3,4 Punto posFinal = new Punto(3, 4); Assert.IsTrue(otroMovil.Posicion.Equals(posFinal)); }
public void CuandoLosLopezReggaeAladoSeParaArribaDeUnPasilloConChalaNOComeElItem() { 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 LosLopezReggaeAlado(posOrigen); float velocidad = unEnemigo.Movimiento.Velocidad; destino.Transitar(unEnemigo); Assert.AreEqual(velocidad, unEnemigo.Movimiento.Velocidad); }
public void CuandoLosLopezReggaeAladoSeParaArribaDeUnPasilloConTimerNOComeElItem() { 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 LosLopezReggaeAlado(posOrigen); int retardo = 0; destino.Transitar(unEnemigo); Assert.AreEqual(retardo, unEnemigo.Lanzador.RetardoExplosion); }
public void AgregarUnMovilEnUnaCasillaDentroDelRangoNoCreadaEnElMapaLanzaNoExisteCasillaException() { pos = new Punto(3, 4); IMovible movil = new LosLopezReggaeAlado(pos); try { otroMapa.AgregarPersonaje(movil); Assert.Fail(); } catch (NoExisteCasillaException) { Assert.Pass("Exception correcta fue lanzada."); } catch (System.Exception) { Assert.Fail(); } }
public void CuandoLosLopezReggaeAladoSeParaArribaDeUnPasilloConArticuloBombaToleToleNOComeElItem() { 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 LosLopezReggaeAlado(posOrigen); destino.Transitar(unEnemigo); Assert.IsInstanceOf(typeof(LanzadorMolotov), unEnemigo.Lanzador); }
public void CuandoLopezReggaePlantaUnaMolotovDestruyendoABombitaYSafa() { Punto pBombita = new Punto(1, 0); Punto pReggaeAlado = new Punto(0, 0); Bombita bombita = new Bombita(pBombita); LosLopezReggaeAlado lRA = new LosLopezReggaeAlado(pReggaeAlado); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); Juego.Instancia().Ambiente.AgregarPersonaje(lRA); lRA.LanzarExplosivo(); lRA.Movimiento.CambiarAArriba(); lRA.Mover(); lRA.Mover(); lRA.Mover(); lRA.Mover(); System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); //escapa el alado Assert.IsFalse(lRA.Destruido()); Assert.IsTrue(bombita.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 CuandoBombitaPlantaUnaMolotovDestruyendoAUnLosLopezRaggaeAlado() { Punto pBombita = new Punto(0,3); Punto pLopezRaggaeAlado = new Punto(0, 4); Bombita bombita = new Bombita(pBombita); LosLopezReggaeAlado unLRA = new LosLopezReggaeAlado(pLopezRaggaeAlado); Juego.Instancia().Ambiente.AgregarPersonaje(bombita); Juego.Instancia().Ambiente.AgregarPersonaje(unLRA); bombita.LanzarExplosivo(); bombita.Movimiento.CambiarAArriba(); bombita.Mover(); bombita.Movimiento.CambiarADerecha(); bombita.Mover(); System.Threading.Thread.Sleep(3000); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Juego.Instancia().AvanzarElTiempo(); Assert.IsTrue(unLRA.UnidadesDeResistencia == 0); //chau chau Adios loslopezreggae Assert.IsFalse(bombita.Destruido()); //safo bombitaaa }
public void BombitaIntentaSalirDelJuegoPeroNoPuedePorqueLeQuedanEnemigos() { Punto posInicio = new Punto(0, 0); Punto posLRA = new Punto(4, 4); Personaje unBombita = new Bombita(posInicio); Personaje unEnemigo = new LosLopezReggaeAlado(posLRA); //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. Punto posSalida = new Punto(1, 1); Casilla casillaConSalida = this.unJuego.Ambiente.ObtenerCasilla(posSalida); Salida salida = new Salida(); casillaConSalida.agregarSalida(salida); unJuego.Ambiente.AgregarPersonaje(unBombita); unJuego.Ambiente.AgregarPersonaje(unEnemigo); unBombita.Movimiento.CambiarADerecha(); unBombita.Mover(); // 1,0, como articulo. unBombita.Mover(); // 2,0. unBombita.Movimiento.CambiarAArriba(); unBombita.Mover(); // 2,1 unBombita.LanzarExplosivo(); unBombita.Mover(); // 2,2 unBombita.Movimiento.CambiarAIzquierda(); unBombita.Mover(); // 1,2 unEnemigo.Movimiento.CambiarAAbajo(); //4,4 System.Threading.Thread.Sleep(5000);//Pasan 5 segundos unJuego.AvanzarElTiempo(); unBombita.Movimiento.CambiarAAbajo(); unBombita.Mover();//1,1 Assert.IsFalse(unJuego.Ambiente.NivelGanado); Assert.IsFalse(unJuego.Ambiente.NivelTerminado); }
public void BombitaAgarraUnArticuloBombaToleToleYAniquilaALosLopezReggaeAlado() { Punto posInicio = new Punto(0, 3); Punto posLRA = new Punto(4, 4); Personaje unBombita = new Bombita(posInicio); Personaje unEnemigo = new LosLopezReggaeAlado(posLRA); //Agrego articulo Punto posicionCasillaArt = new Punto(0, 4); 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.CambiarAArriba(); unBombita.Mover(); // 0,4, como articulo. unBombita.Movimiento.CambiarADerecha(); unBombita.Mover(); // 1,4. unBombita.LanzarExplosivo(); unBombita.Movimiento.CambiarAIzquierda(); unBombita.Mover(); // 0,4 unBombita.Movimiento.CambiarAAbajo(); unBombita.Mover(); // 0,3 System.Threading.Thread.Sleep(5000);//Pasan 5 segundos unJuego.AvanzarElTiempo(); Assert.IsTrue(unEnemigo.Destruido()); }