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);
        }
Exemple #16
0
        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);
 }