private void updateMap(Wrappy w) { if (map[w.Loc] == Tile.Obstacle && w.remainingDrill <= 0) { throw new Exception("Obstacle collision"); } map[w.Loc] = Tile.Filled; foreach (Point p in w.Manips) { Point mp = w.absolutePosition(p); if (map.validCoordinate(mp) && map[mp] == Tile.Empty && isVisible(w.Loc, mp)) { map[mp] = Tile.Filled; } } }