public List <Coordinates> GetAllNearbyPrey (IField field, int predatorX, int predatorY, int predatorFOV, char preyBody) { var preyCoords = new List <Coordinates>(); for (int yAxis = predatorY - predatorFOV; yAxis <= predatorY + predatorFOV; yAxis++) { if (!_validator.CoordinateYIsValid(yAxis)) { continue; } for (int xAxis = predatorX - predatorFOV; xAxis <= predatorX + predatorFOV; xAxis++) { if (!_validator.CoordinateXIsValid(xAxis)) { continue; } if (field.Contents[xAxis, yAxis] == preyBody) { preyCoords.Add(new Coordinates(xAxis, yAxis)); } } } return(preyCoords); }
public List <Coordinates> GetAllNearbyPredators(IField field, IHerbivore prey, char predatorBody) { var predatorsCoords = new List <Coordinates>(); for (int yAxis = prey.CoordinateY - prey.FieldOfView; yAxis <= prey.CoordinateY + prey.FieldOfView; yAxis++) { if (!_validator.CoordinateYIsValid(yAxis)) { continue; } for (int xAxis = prey.CoordinateX - prey.FieldOfView; xAxis <= prey.CoordinateX + prey.FieldOfView; xAxis++) { if (!_validator.CoordinateXIsValid(xAxis)) { continue; } if (field.Contents[xAxis, yAxis] == predatorBody) { predatorsCoords.Add(new Coordinates(xAxis, yAxis)); } } } if (predatorsCoords.Count == 0) { return(null); } return(predatorsCoords); }