|
@ -35,7 +35,8 @@ def manhattanDistance(pos1, pos2): |
|
|
return abs(pos1[0] - pos2[0]) + abs(pos1[1] - pos2[1]) |
|
|
return abs(pos1[0] - pos2[0]) + abs(pos1[1] - pos2[1]) |
|
|
|
|
|
|
|
|
def mooreNeighbourhood(pos): |
|
|
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): |
|
|
def nextSquare(passenger, grid): |
|
|
#simple behaviour for now |
|
|
#simple behaviour for now |
|
@ -50,10 +51,10 @@ def nextSquare(passenger, grid): |
|
|
return candidati[0] |
|
|
return candidati[0] |
|
|
|
|
|
|
|
|
def GenPassList(): |
|
|
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): |
|
|
for x in range(1,width): |
|
|
border += [Passenger((x, a),(-1,-1)) for a in range(0,3)] |
|
|
border += [Passenger((a, x),(-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(4,7)] |
|
|
return border |
|
|
return border |
|
|
|
|
|
|
|
|
grid=makeGrid() |
|
|
grid=makeGrid() |
|
@ -75,10 +76,16 @@ def tick(): |
|
|
else: |
|
|
else: |
|
|
print(" ", end="") |
|
|
print(" ", end="") |
|
|
print() |
|
|
print() |
|
|
|
|
|
print("---") |
|
|
if toad < len(passengers): |
|
|
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 |
|
|
toad += 1 |
|
|
for (i, man) in enumerate(passengers): |
|
|
for (i, man) in enumerate(passengers): |
|
|
|
|
|
if man.curr == man.dest: |
|
|
|
|
|
continue |
|
|
|
|
|
if man.curr == (-1, -1): |
|
|
|
|
|
continue |
|
|
#im sexist |
|
|
#im sexist |
|
|
cp = man.curr |
|
|
cp = man.curr |
|
|
man.curr = nextSquare(man, grid) |
|
|
man.curr = nextSquare(man, grid) |
|
|