public static bool alongTheWay(Mission m) { if (m.agent.AttacksLeft <= 0) { return false; } Droid attacker = m.agent; for (int i = 0; i < 40 && attacker.AttacksLeft > 0; i++) { for (int j = 0; j < 20 && attacker.AttacksLeft > 0; j++) { if (m.attackAlongTheWay(new Point(i, j))) { if (Math.Abs(i - attacker.X) + Math.Abs(j - attacker.Y) <= attacker.Range) { attacker.operate(i, j); return true; } } } } return false; }