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);
        }
Beispiel #2
0
 public void RecomenzarNivel()
 {
     enemigosVivos = new List<Personaje.Personaje>();
     this.objetosContundentes = new List<IMovible>();
     this.dependientesDelTiempo = new List<IDependienteDelTiempo>();
     this.salida = new Salida();
 }
        public void NoPuedoAgregarSalidaEnUnPasilloPuesNoEstaPermitido()
        {
            // agrego articulo
            Punto pUnaSalida = new Punto(1, 0);
            Casilla unaCasillaDeSalida = unMapa.ObtenerCasilla(pUnaSalida);

            Salida salida = new Salida();
            unaCasillaDeSalida.agregarSalida(salida);
            Assert.IsNotInstanceOf(typeof(Salida), unaCasillaDeSalida.ArticuloContenido);
        }
        public void PuedoAgregarSalidaEnUnBloqueLadrilloPuesEstaPermitido()
        {
            Punto unaPosicion = new Punto(0, 0);
            Casilla unaCasilla = new Casilla(unaPosicion);
            Tablero otroMapa = Juego.Instancia().Ambiente;

            Punto pUnaSalida = new Punto (1,1);

            Casilla unaCasillaDeSalida = unMapa.ObtenerCasilla(pUnaSalida);

            // agrego articulo
            Salida salida = new Salida();
            unaCasillaDeSalida.agregarSalida(salida);

            Assert.IsInstanceOf(typeof(Salida), unaCasillaDeSalida.ArticuloContenido);
        }
        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);
        }