Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- Homework 3c: Recursive Graphs
- Anya Palkowski
- """
- import hw3util
- import comp211coll
- import time
- def dfs_rec(m, mv, curr_cell, visited, sleeptime):
- NESW = [0, 1, 2, 3]
- mv.set_color(curr_cell, '#888888', draw=True)
- time.sleep(sleeptime)
- if curr_cell == m.get_end_cell():
- return (curr_cell)
- else:
- for direction in NESW:
- if not m.has_wall(curr_cell, direction):
- if m.get_neighbor(curr_cell, direction) not in visited:
- curr_cell = m.get_neighbor(curr_cell, direction)
- visited.append(curr_cell)
- mv.set_color(curr_cell, '#CCCCCC', draw=True)
- time.sleep(sleeptime)
- p = dfs_rec(m, mv, curr_cell, visited, sleeptime)
- if p != ():
- return (curr_cell, ) + p
- else:
- mv.set_color(curr_cell, '#888888', draw=True)
- time.sleep(sleeptime)
- return ()
- else:
- mv.set_color(curr_cell, '#888888', draw=True)
- time.sleep(sleeptime)
- return ()
- list = []
- list += dfs_rec(m, mv, curr_cell, visited, sleeptime)
- return list
- def solve_rec(m, mv, sleeptime=.05):
- visited = []
- return dfs_rec(m, mv, m.get_start_cell(), visited, sleeptime)
Add Comment
Please, Sign In to add comment