diff --git a/main.py b/main.py index 7e5f293..b555f4b 100644 --- a/main.py +++ b/main.py @@ -34,7 +34,8 @@ def manhattanDistance(pos1, pos2): return abs(pos1[0] - pos2[0]) + abs(pos1[1] - pos2[1]) def mooreNeighbourhood(pos): - return [(pos[0], pos[1]+1), (pos[0]+1, pos[1]), (pos[0]-1, pos[1]), (pos[0], pos[1]-1)] + return [i for i in [(pos[0], pos[1]+1), (pos[0]+1, pos[1]), (pos[0]-1, pos[1]), (pos[0], pos[1]-1)] if + i[0] >= 0 and i[1] >= 0 and i[0] < width and i[1] < height] def nextSquare(passenger, grid): #simple behaviour for now @@ -49,10 +50,10 @@ def nextSquare(passenger, grid): return candidati[0] def GenPassList(): - border = [Passenger((0, a),(-1,-1)) for a in range(0,3)] + border = [Passenger((a, 0),(-1,-1)) for a in range(0,3)] for x in range(1,width): - border += [Passenger((x, a),(-1,-1)) for a in range(0,3)] - border += [Passenger((x, a),(-1,-1)) for a in range(4,7)] + border += [Passenger((a, x),(-1,-1)) for a in range(0,3)] + border += [Passenger((a, x),(-1,-1)) for a in range(4,7)] return border grid=makeGrid() @@ -74,10 +75,16 @@ def tick(): else: print(" ", end="") print() + print("---") if toad < len(passengers): - grid[passengers[toad].curr[0]][passengers[toad].curr[1]].occupant = toad #added + grid[4][0].occupant = toad #added + passengers[toad].curr = (4, 0) toad += 1 for (i, man) in enumerate(passengers): + if man.curr == man.dest: + continue + if man.curr == (-1, -1): + continue #im sexist cp = man.curr man.curr = nextSquare(man, grid)