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.QtWidgets import QWidget, QLabel, QToolBox
|
||||||
from PySide6.QtCore import Qt, Slot, Signal, QThread
|
from PySide6.QtCore import Qt, Slot, Signal, QThread
|
||||||
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
|
from PySide6.QtCharts import QChart, QSplineSeries, QLineSeries
|
||||||
from math import ceil
|
from math import ceil, dist
|
||||||
|
|
||||||
class carInfo(QWidget):
|
class carInfo(QWidget):
|
||||||
def __init__(self,parent):
|
def __init__(self,parent):
|
||||||
@ -100,6 +100,7 @@ class CarController:
|
|||||||
self.cars=[]
|
self.cars=[]
|
||||||
self.flows=[]
|
self.flows=[]
|
||||||
self.t=0
|
self.t=0
|
||||||
|
self.spawnFailed = 0
|
||||||
|
|
||||||
self.infoWidget = None
|
self.infoWidget = None
|
||||||
|
|
||||||
@ -151,6 +152,10 @@ class CarController:
|
|||||||
cars = self.getCarsOnEdge(edgeID)
|
cars = self.getCarsOnEdge(edgeID)
|
||||||
return filter(lambda c: c.laneId == laneID,cars)
|
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):
|
def update(self):
|
||||||
if self.map.net is None:
|
if self.map.net is None:
|
||||||
return
|
return
|
||||||
@ -160,7 +165,15 @@ class CarController:
|
|||||||
|
|
||||||
for flow in self.flows:
|
for flow in self.flows:
|
||||||
if flow.shouldSpawn(self.t):
|
if flow.shouldSpawn(self.t):
|
||||||
|
carsClose = self.getCarsClose(flow.carModel)
|
||||||
|
try:
|
||||||
|
next(carsClose)
|
||||||
|
except StopIteration:
|
||||||
self.cars.append(flow.spawnCar())
|
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):
|
def draw(self,painter):
|
||||||
for ind,car in enumerate(self.cars):
|
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.adjVPH = self.vph + randint(0,self.randomVal)
|
||||||
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
|
self.carModel = Car("model",self.route,start,parentMap,parentController,None)
|
||||||
self.carsSpawned = 0
|
self.carsSpawned = 0
|
||||||
|
self.cc = parentController
|
||||||
|
|
||||||
def prepareRoute(self):
|
def prepareRoute(self):
|
||||||
self.carModel.prepareRoute()
|
self.carModel.prepareRoute()
|
||||||
@ -27,3 +28,6 @@ class Flow:
|
|||||||
self.carsSpawned += 1
|
self.carsSpawned += 1
|
||||||
self.adjVPH = self.vph + randint(0,self.randomVal)
|
self.adjVPH = self.vph + randint(0,self.randomVal)
|
||||||
return newCar
|
return newCar
|
||||||
|
|
||||||
|
def addCar2Counter(self):
|
||||||
|
self.carsSpawned += 1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user