static DiscretePoint FindNextClosestDirty(char[,] grid, DiscretePoint bot) { DiscretePoint dirty = null; double min = double.MaxValue; for (int i = 0; i < grid.GetLength(0); i++) { for (int j = 0; j < grid.GetLength(1); j++) { if (grid[i, j] == 'd') { var distance = GridUtils.Distance(bot.X, bot.Y, j, i); if (distance < min) { min = distance; dirty = new DiscretePoint(j, i); } } } } return(dirty); }
static DiscretePoint FindFurthestHidden(char[,] grid, DiscretePoint bot) { DiscretePoint dirty = null; double max = 0; for (int i = 0; i < grid.GetLength(0); i++) { for (int j = 0; j < grid.GetLength(1); j++) { if (grid[i, j] == 'o') { var distance = GridUtils.Distance(bot.X, bot.Y, j, i); if (distance > max) { max = distance; dirty = new DiscretePoint(j, i); } } } } return(dirty); }