// 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; }