public override List<Unidad> ObjetivosProximos(Mapa mapa) { List<Unidad> u = new List<Unidad>(); mapa.encontrarPosAlcanzable(this.posicion, this.velocidad, this.tipo, true); foreach (int[] i in mapa.alcanzables) { var adyacentes = objetivosDisparables(i, mapa); if (adyacentes.Count != 0) { foreach (Unidad a in adyacentes) { if (!(u.Contains(a))) { u.Add(a); } } } } if (u.Count == 0) { this.estado = estados.defensivo; } else { this.estado = estados.ofensivo; } return u; }
public override List<Unidad> ObjetivosProximos(Mapa mapa) { List<Unidad> u = new List<Unidad>(); mapa.encontrarPosAlcanzable(this.posicion, this.velocidad, this.tipo, true); foreach (int[] i in mapa.alcanzables) { var adyacentes = objetivosDisparables(i, mapa); if (adyacentes.Count != 0) { foreach (Unidad a in adyacentes) { if (!(u.Contains(a))) { u.Add(a); } } } } u.RemoveAll(x => x.hpActual + 10 > x.hpInicial); return u; }