@@ -12,14 +12,9 @@ class NegativeWeightCycle(Exception):
1212
1313
1414class Graph :
15- vertices = []
16- edges = {}
17- distance_from_start = {}
18- came_from = {}
19-
2015 def __init__ (self , vertices = [], edges = {}):
21- self .vertices = vertices
22- self .edges = edges
16+ self .vertices = vertices . copy ()
17+ self .edges = edges . copy ()
2318
2419 def 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 """
5954 self .vertices = []
55+ self .edges = {}
6056 y = 0
6157
6258 for line in grid .splitlines ():
@@ -151,15 +147,15 @@ def add_traps(self, vertices):
151147
152148 return 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 """
161157 changed = False
162- for vertex in vertices :
158+ for vertex in walls :
163159 if vertex in self .edges :
164160 del self .edges [vertex ]
165161 if isinstance (self .vertices , list ):
@@ -169,7 +165,7 @@ def add_walls(self, vertices):
169165 changed = True
170166
171167 self .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 ]
173169 for source in self .edges
174170 }
175171
0 commit comments