// crea una bomba public Bomba(Casilla posicion, int rango, double retardo) : base(posicion) { this.exploto = false; this.rango = rango; this.retardo = retardo; }
// crea un personaje public Personaje(Casilla posicion, int resistencia, int velocidad) : base(posicion) { this.resistencia = resistencia; this.velocidad = velocidad; this.porcentajeDeRetardo = PORCENTAJE_DE_RETARDO; this.explotoLaBombaLanzada = true; this.estrategiaDeLanzamiento = null; }
public void TestAgregarEntidadesALaCasilla() { casilla = new Casilla(1, 1); casilla.AgregarEntidad(new Cecilio()); casilla.AgregarEntidad(new Molotov()); // asserts Assert.AreEqual(casilla.CantidadDeEntidades(), 2); }
public void TestLaCasillaTieneUnaBomba() { casilla = new Casilla(1, 1); casilla.AgregarEntidad(new Molotov()); // asserts Assert.IsFalse(casilla.TieneArticulo()); Assert.IsTrue(casilla.TieneBomba()); Assert.IsFalse(casilla.TieneObstaculo()); Assert.IsFalse(casilla.TienePersonaje()); }
public void TestLaEntidadEstaEnLaMismaPosicionQueLaOtraEntidad() { Casilla posicion = new Casilla(1, 1); Entidad obstaculo_1 = new ObstaculoDeAcero(); obstaculo_1.PosicionarEn(posicion); Entidad obstaculo_2 = new ObstaculoDeAcero(); obstaculo_2.PosicionarEn(posicion); // asserts Assert.IsTrue(obstaculo_1.MismaPosicionQue(obstaculo_2)); }
public void TestLaEntidadEstaEnDistintaPosicionQueLaOtraEntidad() { Casilla posicion_1 = new Casilla(1, 1); Casilla posicion_2 = new Casilla(2, 2); Entidad obstaculo_1 = new ObstaculoDeAcero(); obstaculo_1.PosicionarEn(posicion_1); Entidad obstaculo_2 = new ObstaculoDeAcero(); obstaculo_2.PosicionarEn(posicion_2); // asserts Assert.IsFalse(obstaculo_1.MismaPosicionQue(obstaculo_2)); }
public void TestCreaUnaCasillaVacia() { casilla = new Casilla(10, 20); // asserts Assert.AreEqual(casilla.X, 10); Assert.AreEqual(casilla.Y, 20); Assert.AreEqual(casilla.CantidadDeEntidades(), 0); Assert.IsTrue(casilla.EstaVacia()); Assert.IsFalse(casilla.TieneArticulo()); Assert.IsFalse(casilla.TieneBomba()); Assert.IsFalse(casilla.TieneObstaculo()); Assert.IsFalse(casilla.TienePersonaje()); }
public void TestAgregarEntidadesALaCasillaYEliminarlas() { casilla = new Casilla(1, 1); Molotov molotov = new Molotov(); Cecilio cecilio = new Cecilio(); casilla.AgregarEntidad(cecilio); casilla.AgregarEntidad(molotov); // asserts Assert.AreEqual(casilla.CantidadDeEntidades(), 2); Assert.IsFalse(casilla.EstaVacia()); casilla.RemoverEntidad(molotov); casilla.RemoverEntidad(cecilio); // asserts Assert.AreEqual(casilla.CantidadDeEntidades(), 0); Assert.IsTrue(casilla.EstaVacia()); }
// crea un enemigo public Enemigo(Casilla posicion, int resistencia, int velocidad) : base(posicion, resistencia, velocidad) { this.Inicializar(); }
// crea un obstaculo de ladrillo public ObstaculoDeLadrillo(Casilla posicion) : base(posicion) { this.durabilidad = DURABILIDAD; }
// crea una entidad posicionada en una casilla public Entidad(Casilla posicion) { this.direccion = ESTE; this.PosicionarEn(posicion); }
// crea un articulo public Articulo(Casilla posicion) : base(posicion) { this.capturado = false; }
// crea un obstaculo public Obstaculo(Casilla posicion) : base(posicion) { this.guardaSalida = false; }
// crea un proyectil public Proyectil(Casilla posicion) : base(posicion, RANGO, RETARDO) { this.danio = DANIO; this.retardoDeMovimiento = 0; }
// crea una bomba molotov public Molotov(Casilla posicion) : base(posicion, RANGO, RETARDO) { this.danio = DANIO; }
// puede moverse siempre public override bool PuedeMoverseA(Casilla casilla) { return true; }
// crea un articulo timer public Timer(Casilla posicion) : base(posicion) { }
// un personaje puede moverse solo si la proxima casilla // posee objetos que pueden superponerse public virtual bool PuedeMoverseA(Casilla proximaPosicion) { foreach (Entidad entidad in proximaPosicion.GetEntidades()) if (!entidad.PuedeSuperponerse()) return false; return true; }
// inicializa los casilleros que compondran al tablero, en principio vacios private void InicializarCasillas() { for (int i = 0; i < MAXIMO_FILA; i++) for (int j = 0; j < MAXIMO_COLUMNA; j++) casillas [i, j] = new Casilla (i, j); INSTANCIA = this; }
public virtual void CargarseGuardado(Casilla posicionBombita, Entidad ObstaculoDeSalida, List<Entidad> listaEntidades) { this.tablero.Reiniciar(); this.tablero = new Tablero(); this.bombita.Reiniciar(); this.bombita = new Bombita(); this.tablero.AgregarEntidad(bombita, posicionBombita.X, posicionBombita.Y); this.inicializarGuardado(ObstaculoDeSalida, listaEntidades); }
// crea una entidad public Entidad() { this.direccion = ESTE; this.posicion = null; }
// crea un articulo habano/chala public Habano(Casilla posicion) : base(posicion) { }
// un personaje puede moverse solo si la proxima casilla esta vacia public bool PuedeMoverseA(Casilla proximaPosicion) { if (proximaPosicion.EstaVacia()) return true; return false; }
public void TestSolicitarLaCasillaAdyacenteAbajo() { casilla = new Casilla(1, 1); int[] sur = { 1, 0 }; Casilla casillaIzquierda = casilla.CasillaAdyacenteEnLaDireccion(sur); // asserts Assert.AreEqual(casillaIzquierda.X, 2); Assert.AreEqual(casillaIzquierda.Y, 1); }
public void TestSolicitarLaCasillaAdyacenteArriba() { casilla = new Casilla(1, 1); int[] norte = { -1, 0 }; Casilla casillaIzquierda = casilla.CasillaAdyacenteEnLaDireccion(norte); // asserts Assert.AreEqual(casillaIzquierda.X, 0); Assert.AreEqual(casillaIzquierda.Y, 1); }
// crea a Lopez Reggae public LopezReggae(Casilla posicion) : base(posicion, RESISTENCIA_INICIAL, VELOCIDAD_INICIAL) { this.Inicializar(); }
public void TestSolicitarLaCasillaAdyacenteIzquierda() { casilla = new Casilla(1, 1); int[] oeste = { 0, -1 }; Casilla casillaIzquierda = casilla.CasillaAdyacenteEnLaDireccion(oeste); // asserts Assert.AreEqual(casillaIzquierda.X, 1); Assert.AreEqual(casillaIzquierda.Y, 0); }
// crea un obstaculo de acero public ObstaculoDeAcero(Casilla posicion) : base(posicion) { this.destruido = false; }
// posiciona al objeto en una nueva casilla public void PosicionarEn(Casilla posicion) { this.posicion = posicion; this.posicion.AgregarEntidad(this); }