From 8a6368c50af7784e3ef720d0cfcd82f63fc3fe1f Mon Sep 17 00:00:00 2001 From: leo Date: Sat, 7 May 2022 10:47:29 +0200 Subject: [PATCH] pourcentage de ralentissement --- Car.py | 5 +++++ CarController.py | 4 +++- main.py | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Car.py b/Car.py index c6df0ad..88cc642 100644 --- a/Car.py +++ b/Car.py @@ -58,6 +58,8 @@ class Car(): self.leaderBefore=False self.distToInter=0 self.timeStopped=0 + self.speedPercentage=0 + self.ticksLived=0 self.vmax=0 @@ -422,6 +424,9 @@ class Car(): if self.v == 0: self.timeStopped += dt + self.speedPercentage += self.v/self.vmax + self.ticksLived += 1 + lgt=self.v*dt self.dir = atan2(self.laneShape[self.laneInd+1][1]-self.pos[1],self.laneShape[self.laneInd+1][0]-self.pos[0]) diff --git a/CarController.py b/CarController.py index a30769d..4b07812 100644 --- a/CarController.py +++ b/CarController.py @@ -104,6 +104,7 @@ class CarController: self.spawnFailed = 0 self.totalStopped = 0 self.carsDestroyed = 0 + self.speedPercentageTotal = 0 self.infoWidget = None @@ -178,7 +179,7 @@ class CarController: self.spawnFailed += 1 #flow.addCar2Counter() flow.priority += 1 - print(f"nope, y as déjà une voiture ici : n°{self.spawnFailed}") + #print(f"nope, y as déjà une voiture ici : n°{self.spawnFailed}") def draw(self,painter): for ind,car in enumerate(self.cars): @@ -195,6 +196,7 @@ class CarController: def destroyCar(self, car): self.carsDestroyed += 1 self.totalStopped += car.timeStopped + self.speedPercentageTotal += car.speedPercentage / car.ticksLived self.cars.remove(car) def updateConstant(self, name, val): diff --git a/main.py b/main.py index e548b79..fee918b 100644 --- a/main.py +++ b/main.py @@ -83,7 +83,8 @@ class MainWindow(QMainWindow): if controller.carsDestroyed==0: return averageTimeStopped = controller.totalStopped / controller.carsDestroyed - widget.setText(f"temps d'arrêt : {averageTimeStopped:.2f}s/voiture \n nombre de voitures qui n'ont pas pu apparaitre : {controller.spawnFailed}") + speedPercentage = controller.speedPercentageTotal / controller.carsDestroyed + widget.setText(f"temps d'arrêt : {averageTimeStopped:.2f}s/voiture \n nombre de voitures qui n'ont pas pu apparaitre : {controller.spawnFailed} \n T : {speedPercentage:.2f}") @Slot(int) def updatePhysicsFps(self,t):