コード例 #1
0
        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 );
        }
コード例 #2
0
 public void DaniarBloqueDeCementoConBombaMolotovDisminuyeUnidadesDeResistenciaEn5Unidades()
 {
     Punto unPto = new Punto(3, 4);
     Bomba bomba = new BombaMolotov(unPto, 0);
     Obstaculo obstaculo = BloqueComun.CrearBloqueCemento();
     bomba.Daniar(obstaculo);
     Assert.AreEqual(obstaculo.UnidadesDeResistencia, 5);
 }
コード例 #3
0
 public override Explosivo Disparar()
 {
     BombaMolotov bomba = null;
     if (Juego.Juego.Instancia().Ambiente.ObtenerCasilla(this.posicionDeTiro).Explosivo == null)
     {
         bomba = new BombaMolotov(this.PosicionDeTiro, this.RetardoExplosion);
         Juego.Juego.Instancia().AlojarExplosivo(bomba);
     }
     return bomba;
 }
コード例 #4
0
 public void EstaExplotadaAlPasarUnTiempoDevuelveTrue()
 {
     Punto unPto = new Punto(2, 2);
     Bomba bomba = new BombaMolotov(unPto, 0);
     Juego.Instancia().Ambiente.ObtenerCasilla(unPto).PlantarExplosivo(bomba);
     System.Threading.Thread.Sleep(1000);//Dejo Pasar un segundo y explota
     bomba.CuandoPasaElTiempo();
     System.Threading.Thread.Sleep(1000);
     bomba.CuandoPasaElTiempo();
     System.Threading.Thread.Sleep(1000);
     bomba.CuandoPasaElTiempo();
     Assert.IsTrue(bomba.EstaExplotado());
 }
コード例 #5
0
        public void ExplotaUnaBombaMolotovYTieneUnCasilleroArribaConBloqueLadrilloLoDestruyeYLuegoLaCasillaEsUnPasillo()
        {
            Punto posicion = new Punto(0, 1);
            Punto puntoCasillaDaniada = new Punto(0, 2);
            Bomba unaBomba = new BombaMolotov(posicion, 0);

            Casilla unaCasillaBomba = unMapa.ObtenerCasilla(posicion);
            unaCasillaBomba.PlantarExplosivo(unaBomba);

            unMapa.ManejarExplosion(unaBomba);

            Casilla unaCasillaDaniada = unMapa.ObtenerCasilla(puntoCasillaDaniada);

            Assert.IsInstanceOf(typeof(Pasillo), unaCasillaDaniada.Estado);
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        public void CuandoPlanto1BombaToleTole1MolotovAlMismoTiempoATravesDeJuegoYSoloExplotaLaMolotov()
        {
            Punto posicionBomba1 = new Punto(0, 0);
            Punto posicionBomba2 = new Punto(0, 1);

            BombaMolotov bomba1 = new BombaMolotov(posicionBomba1, 0);
            BombaToleTole bomba2 = new BombaToleTole(posicionBomba2, 0);

            Casilla casillaBomba1 = Juego.Instancia().Ambiente.ObtenerCasilla(posicionBomba1);
            Casilla casillaBomba2 = Juego.Instancia().Ambiente.ObtenerCasilla(posicionBomba2);

            this.unJuego.AlojarExplosivo(bomba1);
            this.unJuego.AlojarExplosivo(bomba2);
            System.Threading.Thread.Sleep(3000);
            this.unJuego.AvanzarElTiempo();
            this.unJuego.AvanzarElTiempo();
            this.unJuego.AvanzarElTiempo();
            Assert.IsTrue(bomba1.EstaExplotado());
            Assert.IsFalse(bomba2.EstaExplotado());
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        public void CuandoExplotaUnaBombaMolotovYTieneUnCasilleroAbajoConCecilioLoDestruye()
        {
            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 BombaMolotov(posicionBomba, 0);
            casillaCecilio.Transitar(cecilio);

            casillaBomba.PlantarExplosivo(unaBomba);
            unaBomba.Explotar();
            Assert.AreEqual(cecilio.UnidadesDeResistencia, 0);
        }
コード例 #11
0
 public void BombaMolotovEstaExplotadaAlSerPlantadaDebeDevolverFalse()
 {
     Punto unPto = new Punto(3, 4);
     Bomba bomba = new BombaMolotov(unPto, 0);
     Assert.IsFalse(bomba.EstaExplotado());
 }