@@ -33,14 +33,14 @@ def build_nodes(width, height, matrix=None, inverse=False):
33
33
34
34
35
35
class Grid (object ):
36
- def __init__ (self , width = 0 , height = 0 , matrix = None , inverse = False , passable_left_right_border = False , passable_up_down_border = False ):
36
+ def __init__ (self , width = 0 , height = 0 , matrix = None , inverse = False ):
37
37
"""
38
38
a grid represents the map (as 2d-list of nodes).
39
39
"""
40
40
self .width = width
41
41
self .height = height
42
- self .passable_left_right_border = passable_left_right_border
43
- self .passable_up_down_border = passable_up_down_border
42
+ self .passable_left_right_border = False
43
+ self .passable_up_down_border = False
44
44
if isinstance (matrix , (tuple , list )) or (
45
45
USE_NUMPY and isinstance (matrix , np .ndarray ) and
46
46
matrix .size > 0 ):
@@ -50,7 +50,13 @@ def __init__(self, width=0, height=0, matrix=None, inverse=False, passable_left_
50
50
self .nodes = build_nodes (self .width , self .height , matrix , inverse )
51
51
else :
52
52
self .nodes = [[]]
53
-
53
+
54
+ def set_passable_left_right_border (self ):
55
+ self .passable_left_right_border = True
56
+
57
+ def set_passable_up_down_border (self ):
58
+ self .passable_up_down_border = True
59
+
54
60
def node (self , x , y ):
55
61
"""
56
62
get node at position
@@ -95,7 +101,7 @@ def neighbors(self, node, diagonal_movement=DiagonalMovement.never):
95
101
neighbors .append (self .nodes [y - 1 ][x ])
96
102
s0 = True
97
103
# →
98
- if x == self .width and self .passable_left_right_border :
104
+ if x == self .width - 1 and self .passable_left_right_border :
99
105
if self .walkable (0 , y ):
100
106
neighbors .append (self .nodes [y ][0 ])
101
107
s1 = True
@@ -104,7 +110,7 @@ def neighbors(self, node, diagonal_movement=DiagonalMovement.never):
104
110
neighbors .append (self .nodes [y ][x + 1 ])
105
111
s1 = True
106
112
# ↓
107
- if y == self .height and self .passable_up_down_border :
113
+ if y == self .height - 1 and self .passable_up_down_border :
108
114
if self .walkable (x , 0 ):
109
115
neighbors .append (self .nodes [0 ][x ])
110
116
s2 = True
0 commit comments