// 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; }
// crea un articulo timer public Timer(Casilla posicion) : base(posicion) { }
// crea una bomba molotov public Molotov(Casilla posicion) : base(posicion, RANGO, RETARDO) { this.danio = DANIO; }
// puede moverse siempre public override bool PuedeMoverseA(Casilla casilla) { if (casilla.TienePersonaje()) return false; return true; }
// crea a Cecilio public Cecilio(Casilla posicion) : base(posicion, RESISTENCIA_INICIAL, VELOCIDAD_INICIAL) { this.Inicializar(); }
// un personaje puede moverse solo si la proxima casilla esta vacia public bool PuedeMoverseA(Casilla proximaPosicion) { if (proximaPosicion.EstaVacia()) return true; return false; }
// 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; }
// todo enemigo puede moverse si en la proxima posicioon esta bombita, // si esta vacia o si hay un objeto que puede superponerse public override bool PuedeMoverseA(Casilla proximaPosicion) { int indice = 0; while (indice < proximaPosicion.CantidadDeEntidades()) { Entidad entidad = proximaPosicion.GetEntidades()[indice]; if (!entidad.PuedeSuperponerse() /*& !entidad.EsBombita()*/) return false; indice++; } return true; }
// crea un obstaculo de acero public ObstaculoDeAcero(Casilla posicion) : base(posicion) { this.destruido = false; }
// crea una bomba tole tole public ToleTole(Casilla posicion) : base(posicion, RANGO, RETARDO) { }
public Estallido(Casilla pos) { this.posicion = pos; }
// crea una entidad posicionada en una casilla public Entidad(Casilla posicion) { this.direccion = ESTE; this.PosicionarEn(posicion); }
// crea una entidad public Entidad() { this.direccion = ESTE; this.posicion = null; }
// posiciona al objeto en una nueva casilla public void PosicionarEn(Casilla posicion) { this.posicion = posicion; this.posicion.AgregarEntidad(this); }
public void GuardarJuego() { Casilla posicionBombita = new Casilla(); int x = nivelActual.GetBombita().Posicion().X; int y = nivelActual.GetBombita().Posicion().Y; posicionBombita.X = x; posicionBombita.Y = y; XmlSerializer formatter = new XmlSerializer(typeof(Casilla)); formatter.Serialize(File.OpenWrite("bomberman.xml"), posicionBombita); XmlSerializer formatter2 = new XmlSerializer(typeof(int)); formatter2.Serialize(File.OpenWrite("nivel.xml"), nivelActual.Numero()); }
// crea un enemigo public Enemigo(Casilla posicion, int resistencia, int velocidad) : base(posicion, resistencia, velocidad) { }
// 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); }
// crea a Lopez Reggae public LopezReggae(Casilla posicion) : base(posicion, RESISTENCIA_INICIAL, VELOCIDAD_INICIAL) { this.Inicializar(); }
// crea un obstaculo public Obstaculo(Casilla posicion) : base(posicion) { this.guardaSalida = false; }
// crea un obstaculo de cemento public ObstaculoDeCemento(Casilla posicion) : base(posicion) { this.durabilidad = DURABILIDAD; }
// crea un articulo habano/chala public Habano(Casilla posicion) : base(posicion) { }
// crea un proyectil public Proyectil(Casilla posicion) : base(posicion, RANGO, RETARDO) { this.danio = DANIO; this.retardoDeMovimiento = 0; }
// crea un articulo salida public Salida(Casilla posicion) : base(posicion) { }
// crea un articulo public Articulo(Casilla posicion) : base(posicion) { this.capturado = false; }
// crea un articulo bomba tole tole public BombaToleTole(Casilla posicion) : base(posicion) { }