@@ -12,14 +12,9 @@ class NegativeWeightCycle(Exception):
12
12
13
13
14
14
class Graph :
15
- vertices = []
16
- edges = {}
17
- distance_from_start = {}
18
- came_from = {}
19
-
20
15
def __init__ (self , vertices = [], edges = {}):
21
- self .vertices = vertices
22
- self .edges = edges
16
+ self .vertices = vertices . copy ()
17
+ self .edges = edges . copy ()
23
18
24
19
def neighbors (self , vertex ):
25
20
"""
@@ -57,6 +52,7 @@ def grid_to_vertices(self, grid, diagonals_allowed=False, wall="#"):
57
52
:return: True if the grid was converted
58
53
"""
59
54
self .vertices = []
55
+ self .edges = {}
60
56
y = 0
61
57
62
58
for line in grid .splitlines ():
@@ -151,15 +147,15 @@ def add_traps(self, vertices):
151
147
152
148
return changed
153
149
154
- def add_walls (self , vertices ):
150
+ def add_walls (self , walls ):
155
151
"""
156
152
Adds walls - useful for modification of map
157
153
158
154
:param Any vertex: The vertices to consider
159
155
:return: True if successful, False if no vertex found
160
156
"""
161
157
changed = False
162
- for vertex in vertices :
158
+ for vertex in walls :
163
159
if vertex in self .edges :
164
160
del self .edges [vertex ]
165
161
if isinstance (self .vertices , list ):
@@ -169,7 +165,7 @@ def add_walls(self, vertices):
169
165
changed = True
170
166
171
167
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 ]
173
169
for source in self .edges
174
170
}
175
171
0 commit comments