// se aplica la estrategia
 public void Aplicar()
 {
     Casilla posicionDeLaToleTole = this.aplicador.Posicion();
     ToleTole toleTole = new ToleTole();
     Tablero.GetInstancia().AgregarEntidad(toleTole, posicionDeLaToleTole.X, posicionDeLaToleTole.Y);
     toleTole.Direccionar(this.aplicador.Direccion());
     toleTole.CuandoPaseElTiempo(this.aplicador.PorcentajeDeRetardo());
     toleTole.AnotarLanzador(this.aplicador);
 }
        public void TestCreaUnaToleTole()
        {
            Bomba toleTole = new ToleTole();

            // asserts
            Assert.IsFalse(toleTole.EsArticulo());
            Assert.IsTrue(toleTole.EsBomba());
            Assert.IsFalse(toleTole.EsBombita());
            Assert.IsFalse(toleTole.EsEnemigo());
            Assert.IsFalse(toleTole.EsObstaculo());
            Assert.IsFalse(toleTole.EsPersonaje());
            Assert.IsFalse(toleTole.FueDestruido());
            Assert.IsFalse(toleTole.PuedeSuperponerse());
        }
        public void TestCecilioYElObstaculoDeLadrilloSonDestruidosPorLaOndaExpansivaDeLaToleToleAlExplotar()
        {
            Personaje cecilio = new Cecilio();
            tablero.AgregarEntidad(cecilio, 5, 5);

            Obstaculo obstaculoDeLadrillo = new ObstaculoDeLadrillo();
            tablero.AgregarEntidad(obstaculoDeLadrillo, 5, 14);

            Bomba toleTole = new ToleTole();
            tablero.AgregarEntidad(toleTole, 5, 10);

            // asserts
            Assert.IsFalse(cecilio.FueDestruido());
            Assert.IsFalse(obstaculoDeLadrillo.FueDestruido());
            Assert.IsFalse(toleTole.FueDestruido());
            Assert.AreEqual(tablero.Casilla(5, 5).CantidadDeEntidades(), 1);
            Assert.AreEqual(tablero.Casilla(5, 10).CantidadDeEntidades(), 1);
            Assert.AreEqual(tablero.Casilla(5, 14).CantidadDeEntidades(), 1);
            Assert.AreEqual(tablero.CantidadDeEntidades(), 3);

            // se invoca 5 veces el metodo explotar para hacer pasar el tiempo
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();

            // actualiza el tablero, removiendo a aquellas entidades que fueron destruidas
            tablero.Actualizar();

            // asserts
            Assert.IsTrue(cecilio.FueDestruido());
            Assert.IsTrue(obstaculoDeLadrillo.FueDestruido());
            Assert.IsTrue(toleTole.FueDestruido());
            Assert.AreEqual(tablero.Casilla(5, 5).CantidadDeEntidades(), 0);
            Assert.AreEqual(tablero.Casilla(5, 10).CantidadDeEntidades(), 0);
            Assert.AreEqual(tablero.Casilla(5, 14).CantidadDeEntidades(), 0);
            Assert.AreEqual(tablero.CantidadDeEntidades(), 0);
        }
 public override void DaniarPorToletole(ToleTole bomba)
 {
     this.destruido = true;
 }
 public abstract override void DaniarPorToletole(ToleTole bomba);
 public override void DaniarPorToletole(ToleTole toletole)
 {
 }
 public override void DaniarPorToletole(ToleTole bomba)
 {
     this.durabilidad = 0;
 }
Example #8
0
 public override void DaniarPorToletole(ToleTole toletole)
 {
     this.exploto = true;
     this.lanzador.NotificarExplosion(true);
 }
 public override void DaniarPorToletole(ToleTole bomba)
 {
     this.resistencia = 0;
 }
Example #10
0
 public override void DaniarPorToletole(ToleTole bomba)
 {
     this.capturado = true;
 }
Example #11
0
 public abstract void DaniarPorToletole(ToleTole toletole);
        public void TestLopezReggaeesDestruidoPorLaExplosionDeLaToleToleQueEstaEnSuMismaCasilla()
        {
            Personaje lopezReggae = new LopezReggae();
            tablero.AgregarEntidad(lopezReggae, 5, 5);

            Bomba toleTole = new ToleTole();
            tablero.AgregarEntidad(toleTole, 5, 5);

            // asserts
            Assert.IsFalse(lopezReggae.FueDestruido());
            Assert.IsFalse(toleTole.FueDestruido());
            Assert.AreEqual(tablero.Casilla(5, 5).CantidadDeEntidades(), 2);
            Assert.AreEqual(tablero.CantidadDeEntidades(), 2);

            // se invoca 5 veces el metodo explotar para hacer pasar el tiempo
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();
            toleTole.Explotar();

            // actualiza el tablero, removiendo a aquellas entidades que fueron destruidas
            tablero.Actualizar();

            // asserts
            Assert.IsTrue(lopezReggae.FueDestruido());
            Assert.IsTrue(toleTole.FueDestruido());
            Assert.AreEqual(tablero.Casilla(5, 5).CantidadDeEntidades(), 0);
            Assert.AreEqual(tablero.CantidadDeEntidades(), 0);
        }
        public void TestLaToleToleEsDestruidaPorLaToleTole()
        {
            Bomba toleTole = new ToleTole();

            toleTole.DaniarPorToletole(new ToleTole());

            // asserts
            Assert.IsTrue(toleTole.FueDestruido());
        }
        public void TestLaToleToleEsDestruidaPorElProyectil()
        {
            Bomba toleTole = new ToleTole();

            toleTole.DaniarPorProyectil(new Proyectil());

            // asserts
            Assert.IsTrue(toleTole.FueDestruido());
        }