From 9ca023025bc60eefe7566ee11f9cea9befe0e90e Mon Sep 17 00:00:00 2001 From: Benjamin Adovasio Date: Mon, 30 Mar 2026 09:17:33 -0400 Subject: [PATCH] added part b of step 4 --- Project 5/TurtleDFS.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/Project 5/TurtleDFS.py b/Project 5/TurtleDFS.py index acb7504..f8c1618 100644 --- a/Project 5/TurtleDFS.py +++ b/Project 5/TurtleDFS.py @@ -8,4 +8,37 @@ import os from Stack import Stack -from TurtleMaze import TurtleMaze, Cell, Contents \ No newline at end of file +from TurtleMaze import TurtleMaze, Cell, Contents + +def get_neighbors(maze: TurtleMaze, cell: Cell) -> list[Cell]: + '''returns a list of non-obstacle neighbors in north, south, east, west order''' + + neighbors = [] + row = cell.y + col = cell.x + + # north + if row - 1 >= 0: + north = maze[row - 1][col] + if not north.isBlocked(): + neighbors.append(north) + + # south + if row + 1 < len(maze.maze_grid): + south = maze[row + 1][col] + if not south.isBlocked(): + neighbors.append(south) + + # east + if col + 1 < len(maze[0]): + east = maze[row][col + 1] + if not east.isBlocked(): + neighbors.append(east) + + # west + if col - 1 >= 0: + west = maze[row][col - 1] + if not west.isBlocked(): + neighbors.append(west) + + return neighbors \ No newline at end of file