IRESTE/Flow.py
2022-03-29 17:26:44 +02:00

30 lines
878 B
Python

from Car import Car
import copy
from random import randint
class Flow:
def __init__(self,ID,route,start,vph,randomVal,parentMap,parentController):
self.route = route
self.id = ID
self.startTime = start
self.vph = float(vph)
self.randomVal = int(randomVal)
self.adjVPH = self.vph + randint(0,self.randomVal)
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
self.carsSpawned = 0
def prepareRoute(self):
self.carModel.prepareRoute()
def shouldSpawn(self, t):
f = self.carsSpawned / (t/3600)
return f < self.adjVPH
def spawnCar(self):
newCar = copy.copy(self.carModel)
newCar.id = self.id + str(self.carsSpawned)
self.carsSpawned += 1
self.adjVPH = self.vph + randint(0,self.randomVal)
return newCar