private LinkedList <ScoredCoordinates> getNeighbors(Coordinates current, Maze maze) { LinkedList <ScoredCoordinates> neighborList = new LinkedList <ScoredCoordinates>(); ScoredCoordinates[] potNebr = new ScoredCoordinates[8]; potNebr[0] = new ScoredCoordinates(current.x + 1, current.y); potNebr[1] = new ScoredCoordinates(current.x + 1, current.y + 1); potNebr[2] = new ScoredCoordinates(current.x, current.y + 1); potNebr[3] = new ScoredCoordinates(current.x - 1, current.y + 1); potNebr[4] = new ScoredCoordinates(current.x - 1, current.y); potNebr[5] = new ScoredCoordinates(current.x - 1, current.y - 1); potNebr[6] = new ScoredCoordinates(current.x, current.y - 1); potNebr[7] = new ScoredCoordinates(current.x + 1, current.y - 1); foreach (ScoredCoordinates spot in potNebr) { if (maze.isTraversible(spot)) { neighborList.AddLast(spot); } } return(neighborList); }