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

Loading…
Cancel
Save