예제 #1
0
        public void CuandoSeMueveLopezRALaDerechaCambiaSuPosicionEnElTablero()
        {
            Tablero tablero = new Tablero();
            LopezR lopez = new LopezR();
            tablero.AgregarEntidadEnCasillero(lopez, 0, 0);

            lopez.MoverDerecha();

            Assert.AreEqual(1, lopez.Posicion.Columna);
            Assert.AreEqual(0, lopez.Posicion.Fila);
        }
예제 #2
0
 // Agrega la cantidad de enemigos correspondientes segun el nivel actual
 // reemplazando las entidades existentes en el casillero.
 public void AgregarEnemigos()
 {
     Cecilio cecilio;
     LopezR lopezR;
     LopezRAlado lopezRAlado;
     for (int cantidadDeCecilios = ceciliosPorNivel[nivelActual]; cantidadDeCecilios > 0; cantidadDeCecilios--)
     {
         int fila;
         int columna;
         while (true)
         {
             fila = SortearFila();
             columna = SortearColumna();
             if (EstaVacio(fila, columna)) break;
         }
         cecilio = new Cecilio();
         AgregarEntidadEnCasillero(cecilio, fila, columna);
         listaCecilios.Add(cecilio);
     }
     for (int cantidadDeLopezR = lopezRPorNivel[nivelActual]; cantidadDeLopezR > 0; cantidadDeLopezR--)
     {
         int fila;
         int columna;
         while (true)
         {
             fila = SortearFila();
             columna = SortearColumna();
             if (EstaVacio(fila, columna)) break;
         }
         lopezR = new LopezR();
         AgregarEntidadEnCasillero(lopezR, fila, columna);
         listaLopezR.Add(lopezR);
     }
     for (int cantidadDeLopezRAlado = lopezRAladoPorNivel[nivelActual]; cantidadDeLopezRAlado > 0; cantidadDeLopezRAlado--)
     {
         int fila;
         int columna;
         while (true)
         {
             fila = SortearFila();
             columna = SortearColumna();
             if (EstaVacio(fila, columna)) break;
         }
         lopezRAlado = new LopezRAlado();
         AgregarEntidadEnCasillero(lopezRAlado, fila, columna);
         listaLopezRAlado.Add(lopezRAlado);
     }
 }
예제 #3
0
        public void IntentarMoverseAUnaPosicionInvalidaDejaALopezREnElLugarQueEstaba()
        {
            Tablero tablero = new Tablero();
            LopezR lopez = new LopezR();
            tablero.AgregarEntidadEnCasillero(lopez, 0, 0);

            lopez.MoverArriba();

            Assert.AreEqual(0, lopez.Posicion.Columna);
            Assert.AreEqual(0, lopez.Posicion.Fila);
        }
예제 #4
0
 public void crearLopezRTiene10Resistencia()
 {
     LopezR lopezR = new LopezR();
     Assert.AreEqual(lopezR.Resistencia, 10);
 }
예제 #5
0
        public void CuandoCreoALopezRQueTenga5DeVelocidad()
        {
            LopezR lopez = new LopezR();

            Assert.AreEqual(5, lopez.Velocidad);
        }
예제 #6
0
        public void QueLopezRSeaDañandoPorUnProyectilLeQuiteUnaVida()
        {
            LopezR lopez = new LopezR();

            Proyectil proyectil = new Proyectil();

            lopez.DaniarConProyectil(proyectil);

            Assert.AreEqual(5,lopez.Resistencia);
        }
예제 #7
0
        public void TratarDeSeguirDaniandoALopezRDestruidoLanceUnaExcepcion()
        {
            LopezR lopez = new LopezR();
            ToleTole toleTole = new ToleTole();
            lopez.DaniarConToleTole(toleTole); //Ya lo destruyo

            Assert.Throws<EntidadYaDestruidaException>(() => lopez.DaniarConToleTole(toleTole));
        }
예제 #8
0
        public void QueLopezRSeaDañandoPorUnaMolotovLeQuiteUnaVida()
        {
            LopezR lopez = new LopezR();

            Molotov molotov = new Molotov();

            lopez.DaniarConMolotov(molotov);

            Assert.AreEqual(5,lopez.Resistencia);
        }
예제 #9
0
        public void QueLopezRSeaDañandoPorUnaToleToleLeQuiteUnaVida()
        {
            LopezR lopez = new LopezR();

            ToleTole toleTole = new ToleTole();

            lopez.DaniarConToleTole(toleTole);

            Assert.IsTrue(lopez.FueDestruido());
        }
        public void LopezRIntentaLanzarDosProyectilesALaVezYNoPuede()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR enemigo = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo, 0, 3);

            Bomba bomba = enemigo.Bomba;

            enemigo.LanzarBomba();
            enemigo.MoverDerecha();
            enemigo.LanzarBomba();

            bomba.CuandoPaseElTiempo(5);

            Assert.AreEqual(2, bombita.Vidas);
        }
        public void QueBombitaNoSeaDaniadoCuandoSeLeLanzaUnProyectilYEstaAtrasDeUnBloque()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 1, 2);// Arranca en (0,0)
            LopezR enemigo = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo, 1, 5);
            BloqueDeAcero bloque = new BloqueDeAcero();
            tablero.AgregarEntidadEnCasillero(bloque, 1, 3);

            Bomba bomba = enemigo.Bomba;

            enemigo.LanzarBomba();

            bomba.CuandoPaseElTiempo(5);

            Assert.AreEqual(3, bombita.Vidas);
        }
        public void CreaUnTableroConBombitaYUnLopezRYLosMueveHastaChocarseYQueBombitaPierdaUnaVida()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR lopez = new LopezR();
            tablero.AgregarEntidadEnCasillero(lopez, 0, 3);

            bombita.MoverAbajo();
            lopez.MoverIzquierda();
            lopez.MoverIzquierda();
            lopez.MoverIzquierda();
            bombita.MoverArriba();

            Assert.IsTrue(bombita.Vidas == 2);
            Assert.AreEqual(0, lopez.Posicion.Fila);
            Assert.AreEqual(0, lopez.Posicion.Columna);
            Assert.AreEqual(1, bombita.Posicion.Fila);//bombita pierde una vida y no avanza
            Assert.AreEqual(0, bombita.Posicion.Columna);
        }
        public void CreaUnEnemigoYUnBombitaYLopezRLanzaUnProyectilYLoLastimaABombita()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR enemigo = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo, 0, 3);
            Bomba bomba = enemigo.Bomba;

            enemigo.MoverIzquierda();
            enemigo.LanzarBomba();
            enemigo.MoverAbajo();

            bomba.CuandoPaseElTiempo(5);

            Assert.AreEqual(10, enemigo.Resistencia);
            Assert.AreEqual(2, bombita.Vidas);
        }
        public void CreaUnEnemigoYUnBombitaYLoLastimaConUnaMolotovAlEnemigoYASiMismo()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR enemigo = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo, 0, 2);
            Bomba bomba = bombita.Bomba;

            bombita.MoverDerecha();
            bombita.LanzarBomba();

            bombita.MoverIzquierda();

            bomba.CuandoPaseElTiempo(5);

            Assert.AreEqual(5, enemigo.Resistencia);
            Assert.AreEqual(2, bombita.Vidas);
        }
        public void CreaUnEnemigoYUnBombitaYLanzaDosBombasYLoDestruye()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR enemigo = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo, 0, 2);
            Bomba bomba1 = bombita.Bomba;

            bombita.LanzarBomba();

            bombita.MoverAbajo();
            bombita.MoverDerecha();

            bomba1.CuandoPaseElTiempo(5);

            bombita.MoverArriba();
            bombita.LanzarBomba();
            Bomba bomba2 = bombita.Bomba;
            bombita.MoverAbajo();
            bombita.MoverIzquierda();

            bomba2.CuandoPaseElTiempo(5);

            Assert.IsTrue(enemigo.FueDestruido());
        }
        public void CreaUnEnemigoUnBombitaYLopezRLanzaUnProyectilYLoLastimaAlEnemigoQueEstaEnElMedioYABombitaNoLoDanie()
        {
            Tablero tablero = new Tablero();
            Bombita bombita = new Bombita();
            tablero.AgregarEntidadEnCasillero(bombita, 0, 0);// Arranca en (0,0)
            LopezR enemigo1 = new LopezR();
            tablero.AgregarEntidadEnCasillero(enemigo1, 0, 3);
            Cecilio enemigo2 = new Cecilio();
            tablero.AgregarEntidadEnCasillero(enemigo2, 0, 1);

            Bomba bomba = enemigo1.Bomba;

            enemigo1.LanzarBomba();
            enemigo1.MoverAbajo();

            bomba.CuandoPaseElTiempo(5);

            Assert.AreEqual(10, enemigo1.Resistencia);
            Assert.AreEqual(3, bombita.Vidas);
            Assert.IsTrue(enemigo2.FueDestruido());
        }