@@ -12,14 +12,9 @@ class NegativeWeightCycle(Exception):
1212
1313
1414class Graph :
15- vertices = []
16- edges = {}
17- distance_from_start = {}
18- came_from = {}
19-
2015def __init__ (self ,vertices = [],edges = {}):
21- self .vertices = vertices
22- self .edges = edges
16+ self .vertices = vertices . copy ()
17+ self .edges = edges . copy ()
2318
2419def neighbors (self ,vertex ):
2520"""
@@ -57,6 +52,7 @@ def grid_to_vertices(self, grid, diagonals_allowed=False, wall="#"):
5752 :return: True if the grid was converted
5853 """
5954self .vertices = []
55+ self .edges = {}
6056y = 0
6157
6258for line in grid .splitlines ():
@@ -151,15 +147,15 @@ def add_traps(self, vertices):
151147
152148return changed
153149
154- def add_walls (self ,vertices ):
150+ def add_walls (self ,walls ):
155151"""
156152 Adds walls - useful for modification of map
157153
158154 :param Any vertex: The vertices to consider
159155 :return: True if successful, False if no vertex found
160156 """
161157changed = False
162- for vertex in vertices :
158+ for vertex in walls :
163159if vertex in self .edges :
164160del self .edges [vertex ]
165161if isinstance (self .vertices ,list ):
@@ -169,7 +165,7 @@ def add_walls(self, vertices):
169165changed = True
170166
171167self .edges = {
172- source : [target for target in self .edges [source ]if target not in vertices ]
168+ source : [target for target in self .edges [source ]if target not in walls ]
173169for source in self .edges
174170 }
175171