public void PruebaLaCreacionDeUnaMolotov()
        {
            Molotov molotov = new Molotov();

            Assert.AreEqual(5, molotov.Destruccion);
            Assert.AreEqual(1, molotov.Retardo);
            Assert.AreEqual(3, molotov.Rango);
        }
        public void QueElBloqueSeaDañandoPorUnaMolotovYSeaDestruido()
        {
            BloqueDeLadrillos bloque = new BloqueDeLadrillos(new Casillero(1, 1));

            Molotov molotov = new Molotov();

            bloque.DaniarConMolotov(molotov);

            Assert.IsTrue(bloque.FueDestruido());
        }
        public void PruebaPosicionarUnaBombaEnLaCasilla()
        {
            Casillero casillero = new Casillero(0, 0);

            Molotov bomba = new Molotov();

            casillero.Entidad = bomba;

            Assert.IsNotNull(casillero.Entidad);
        }
        public void QueElBloqueSeaDañandoPorUnaMolotovYQuedeConResistencia5()
        {
            BloqueDeCemento bloque = new BloqueDeCemento(new Casillero(1, 1));

            Molotov molotov = new Molotov();

            bloque.DaniarConMolotov(molotov);

            Assert.IsFalse(bloque.FueDestruido());
            Assert.AreEqual(5, bloque.Resistencia);
        }
        public void QueElBloqueNoSeaDañandoPorUnaMolotov()
        {
            BloqueDeAcero bloque = new BloqueDeAcero();
            int resistenciaAnterior = bloque.Resistencia;

            Molotov molotov = new Molotov();

            bloque.DaniarConMolotov(molotov);

            Assert.IsFalse(bloque.FueDestruido());
            Assert.AreEqual(resistenciaAnterior, bloque.Resistencia);
        }
        public void PruebaQueUnaMolotovCuandoSeActivaYNoPasaTiempoNoEsteDestruida()
        {
            Tablero tablero = new Tablero();
            Molotov bomba = new Molotov();
            tablero.AgregarEntidadEnCasillero(bomba, 0, 0);

            bomba.ActivarBomba();

            bomba.CuandoPaseElTiempo(0);

            Assert.IsFalse(bomba.FueDestruido());
        }
        public void PruebaQueUnaMolotovCuandoSeActivaLuegoDeQuePaseUnTiempo1EsteDestruida()
        {
            Tablero tablero = new Tablero();
            Molotov bomba = new Molotov();
            tablero.AgregarEntidadEnCasillero(bomba, 0, 0);

            bomba.ActivarBomba();

            bomba.CuandoPaseElTiempo(1);

            Assert.IsTrue(bomba.FueDestruido());
        }
        public void PruebaQueUnaMolotovCuandoSeActivaSiSeQuiereVolverAExplotarLanceUnaExcepcion()
        {
            Tablero tablero = new Tablero();
            Molotov bomba = new Molotov();
            tablero.AgregarEntidadEnCasillero(bomba, 0, 0);

            bomba.ActivarBomba();

            bomba.CuandoPaseElTiempo(5);

            Assert.Throws<EntidadYaDestruidaException>(() => bomba.ActivarBomba());
        }
 public override void LanzarBomba()
 {
     if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado
     {
         bomba = new Molotov();
     }
     else if (bomba.EstaActivada)
     {
         return;
     }
     this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna);
     bomba.ActivarBomba();
 }
Beispiel #10
0
        //la lanza solo si bombita esta en su misma fila o columna
        public override void LanzarBomba()
        {
            if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado
            {
                bomba = new Molotov();
            }
            else if (bomba.EstaActivada)
            {
                return;
            }
            this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna);
            int filaBombita = tablero.PosicionBombita.Fila;
            int columnaBombita = tablero.PosicionBombita.Columna;
            Proyectil proyectil = (Proyectil)this.bomba;

            if (filaBombita == posicion.Fila)
            {
                if ((columnaBombita - posicion.Columna) < 0)
                {
                    for (int i = 0; i < bomba.Rango; i++)
                    {
                        proyectil.MoverIzquierda();
                    }
                }
                else
                {
                    for (int i = 0; i < bomba.Rango; i++)
                    {
                        proyectil.MoverDerecha();
                    }
                }
            }
            if (columnaBombita == posicion.Columna)
            {
                if ((filaBombita - posicion.Fila) < 0)
                {
                    for (int i = 0; i < bomba.Rango; i++)
                    {
                        proyectil.MoverArriba();
                    }
                }
                else
                {
                    for (int i = 0; i < bomba.Rango; i++)
                    {
                        proyectil.MoverAbajo();
                    }
                }
            }
        }
        public void PruebaQueUnaMolotovNoLoDestruya()
        {
            Tablero tablero = new Tablero();
            Salida salida = new Salida();
            tablero.AgregarEntidadEnCasillero(salida, 5, 5);
            Molotov bomba = new Molotov();
            tablero.AgregarEntidadEnCasillero(bomba, 5, 6);

            bomba.ActivarBomba();

            bomba.CuandoPaseElTiempo(5);

            Assert.IsFalse(salida.FueDestruido());
        }
Beispiel #12
0
 // Si son daniadas por cualquiera sea la otra bomba, explotan.
 public override void DaniarConMolotov(Molotov molotov)
 {
     this.Explotar(retardoAdquirido);
 }
        public void QueLopezRSeaDañandoPorUnaMolotovLeQuiteUnaVida()
        {
            LopezR lopez = new LopezR();

            Molotov molotov = new Molotov();

            lopez.DaniarConMolotov(molotov);

            Assert.AreEqual(5,lopez.Resistencia);
        }
        public void QueCecilioSeaDañandoPorUnaMolotovLeQuiteUnaVida()
        {
            Cecilio cecilio = new Cecilio();

            Molotov molotov = new Molotov();

            cecilio.DaniarConMolotov(molotov);

            Assert.IsTrue(cecilio.FueDestruido());
        }
        public void QueBombitaSeaDañandoPorUnaMolotovLeQuiteUnaVida()
        {
            Bombita bombita = new Bombita();

            Molotov molotov = new Molotov();

            bombita.DaniarConMolotov(molotov);

            Assert.Less(bombita.Vidas, 3);
        }
        public void PruebaCrearOtraMolotov()
        {
            Molotov molotov = new Molotov();

            Assert.AreEqual(5, molotov.Destruccion);
        }
 // Bombita pierde una vida con cualquier bomba que se lo danie
 public override void DaniarConMolotov(Molotov molotov)
 {
     DaniarConBomba();
 }
        public void PruebaQueCasilleroEstaVacioDevuelvaFalseCuandoTieneUnaMolotovAdentroCuandoSeLoPasoEnUnSetter()
        {
            Casillero casillero = new Casillero(5, 6);
            Bomba bomba = new Molotov();
            casillero.Entidad = bomba;

            Assert.IsFalse(casillero.EstaVacio());
            Assert.AreEqual(5, bomba.Posicion.Fila);
            Assert.AreEqual(6, bomba.Posicion.Columna);
        }
        public void PruebaQueCasilleroEstaVacioDevuelvaFalseCuandoTieneUnaMolotovAdentroCuandoLePasoLaPosicionDesdeMOLOTOV()
        {
            Casillero casillero = new Casillero(5, 4);
            Bomba bomba = new Molotov(casillero);

            Assert.IsFalse(casillero.EstaVacio());
            Assert.AreEqual(5, bomba.Posicion.Fila);
            Assert.AreEqual(4, bomba.Posicion.Columna);
        }
        public void CreaUnTableroConBombitaYUnaBombaYMueveABombitaHastaChocar()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            Molotov bomba = new Molotov();
            tablero.AgregarEntidadEnCasillero(bomba, 0, 2);

            bombita.MoverDerecha();
            bombita.MoverDerecha();
            //Con una bomba, no pasa nada, bombita no puede avanzar
            Assert.AreEqual(0, bombita.Posicion.Fila);
            Assert.AreEqual(1, bombita.Posicion.Columna);
            Assert.AreEqual(0, bomba.Posicion.Fila);
            Assert.AreEqual(2, bomba.Posicion.Columna);
        }
 //Metodos abstractos a definir en los hijos
 public override void DaniarConMolotov(Molotov molotov)
 {
 }
 // Deja una bomba activada en el lugar donde estaba
 public void LanzarBomba()
 {
     if (bomba.FueDestruido())//Le permite agregar otra bomba si la anterior ya ha explotado
     {
         if (poseeBombaToleTole)
         {
             bomba = new ToleTole();
         }
         else
         {
             bomba = new Molotov();
         }
         bomba.RetardoAdquirido = porcentajeDeRetardo;
         bomba.Duenio = this;
     }
     else if (bomba.EstaActivada)
     {
         return;
     }
     this.tablero.AgregarEntidadEnCasillero(bomba, posicion.Fila, posicion.Columna);
     tablero.AgregarBomba(bomba);
     bomba.ActivarBomba();
 }
        public void QueLopezRAladoSeaDañandoPorUnaMolotovLeQuiteUnaVida()
        {
            LopezRAlado lopez = new LopezRAlado();

            Molotov molotov = new Molotov();

            lopez.DaniarConMolotov(molotov);

            Assert.IsTrue(lopez.FueDestruido());
        }