on ne fait pas apparaitre une voiture par dessus une autre
This commit is contained in:
parent
cdb5ccc9ac
commit
33d2e7ee26
@ -6,7 +6,7 @@ from varEdit import Ui_varEdit
|
||||
from PySide6.QtWidgets import QWidget, QLabel, QToolBox
|
||||
from PySide6.QtCore import Qt, Slot, Signal, QThread
|
||||
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
|
||||
from math import ceil
|
||||
from math import ceil, dist
|
||||
|
||||
class carInfo(QWidget):
|
||||
def __init__(self,parent):
|
||||
@ -100,6 +100,7 @@ class CarController:
|
||||
self.cars=[]
|
||||
self.flows=[]
|
||||
self.t=0
|
||||
self.spawnFailed = 0
|
||||
|
||||
self.infoWidget = None
|
||||
|
||||
@ -151,6 +152,10 @@ class CarController:
|
||||
cars = self.getCarsOnEdge(edgeID)
|
||||
return filter(lambda c: c.laneId == laneID,cars)
|
||||
|
||||
def getCarsClose(self, car):
|
||||
cars = self.getCarsOnEdge(car.getCurrentEdge().getID())
|
||||
return filter(lambda c: dist(c.pos, car.pos) < car.minSpace, cars)
|
||||
|
||||
def update(self):
|
||||
if self.map.net is None:
|
||||
return
|
||||
@ -160,7 +165,15 @@ class CarController:
|
||||
|
||||
for flow in self.flows:
|
||||
if flow.shouldSpawn(self.t):
|
||||
self.cars.append(flow.spawnCar())
|
||||
carsClose = self.getCarsClose(flow.carModel)
|
||||
try:
|
||||
next(carsClose)
|
||||
except StopIteration:
|
||||
self.cars.append(flow.spawnCar())
|
||||
else:
|
||||
self.spawnFailed += 1
|
||||
flow.addCar2Counter()
|
||||
print(f"nope, y as déjà une voiture ici : n°{self.spawnFailed}")
|
||||
|
||||
def draw(self,painter):
|
||||
for ind,car in enumerate(self.cars):
|
||||
|
4
Flow.py
4
Flow.py
@ -13,6 +13,7 @@ class Flow:
|
||||
self.adjVPH = self.vph + randint(0,self.randomVal)
|
||||
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
|
||||
self.carsSpawned = 0
|
||||
self.cc = parentController
|
||||
|
||||
def prepareRoute(self):
|
||||
self.carModel.prepareRoute()
|
||||
@ -27,3 +28,6 @@ class Flow:
|
||||
self.carsSpawned += 1
|
||||
self.adjVPH = self.vph + randint(0,self.randomVal)
|
||||
return newCar
|
||||
|
||||
def addCar2Counter(self):
|
||||
self.carsSpawned += 1
|
||||
|
Loading…
x
Reference in New Issue
Block a user