Browse Source

Added wall blocking, seat delay

master
iamsosmart19 4 years ago
parent
commit
addd28d162
  1. 13
      main.py

13
main.py

@ -9,6 +9,7 @@ import math
from queue import PriorityQueue as pq
DEBUG=True
# DEBUG=False
class SquareType(Enum):
AISLE = 0
@ -62,7 +63,6 @@ def nextSquare(passenger, grid):
if passenger.inter == None:
dest = passenger.dest
print("dest")
else:
dest = passenger.inter
@ -75,8 +75,9 @@ def nextSquare(passenger, grid):
mn = mooreNeighbourhood(passenger.curr)
for (i, man) in enumerate(mn):
q.put((1, man, i))
dist[man[0]][man[1]] = 1
if (grid[passenger.curr[0]][passenger.curr[1]].typ != SquareType.SEAT or man[1] == passenger.curr[1]) and grid[man[0]][man[1]].typ != SquareType.WALL:
q.put((1, man, i))
dist[man[0]][man[1]] = 1
while not q.empty():
u = q.get()
@ -84,7 +85,7 @@ def nextSquare(passenger, grid):
return mn[u[2]]
for x in mooreNeighbourhood(u[1]):
alt = 0
if grid[x[0]][x[1]].typ == SquareType.SEAT:
if grid[x[0]][x[1]].typ == SquareType.SEAT or grid[u[1][0]][u[1][1]].typ == SquareType.SEAT:
alt = dist[u[1][0]][u[1][1]] + 5
else:
alt = dist[u[1][0]][u[1][1]] + 1
@ -141,8 +142,7 @@ passengers = GenPassList()
# passengers.reverse()
rnd.shuffle(passengers)
toad = 0
btime = 10 #passengers board every btime ticks
btime = 3 #passengers board every btime ticks
def nunty(x):
@ -212,7 +212,6 @@ def tick(t):
man.shuffled-=1
if DEBUG:
time.sleep(0.05)
# time.sleep(0.05)
os.system("clear")
if done and toad >= len(passengers):
print("Number of ticks: " + str(t))

Loading…
Cancel
Save