fixé le bug avec plusieurs edges internes à la suite

This commit is contained in:
leo 2022-02-10 18:03:09 +01:00
parent 64dcf74783
commit 2abfcc53db
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB

9
Car.py
View File

@ -31,6 +31,11 @@ class Car:
edge=self.map.getLane(conn.getViaLaneID()).getEdge() edge=self.map.getLane(conn.getViaLaneID()).getEdge()
self.route.append(edge) self.route.append(edge)
secEdge=edge.getConnections(rn)[0].getViaLaneID() # Parfois je sais pas pourquoi il coupe les edges internes, mais il marque quand même la connection, ducoup pour contourner
while secEdge!="":
edge=self.map.getLane(secEdge).getEdge()
self.route.append(edge)
secEdge=edge.getConnections(rn)[0].getViaLaneID()
self.initPath() self.initPath()
@ -45,7 +50,7 @@ class Car:
pg.draw.circle(self.surf,col,self.map.convertPos(self.pos),5) pg.draw.circle(self.surf,col,self.map.convertPos(self.pos),5)
def conduite(self): def conduite(self):
vmax=50 # vitesse max sur la route actuelle vmax=100 # vitesse max sur la route actuelle
vleader=vmax # vitesse de la voiture leader vleader=vmax # vitesse de la voiture leader
bleader=15 bleader=15
vbar=(self.v+vleader)/2 vbar=(self.v+vleader)/2
@ -62,7 +67,7 @@ class Car:
while(lgt>0): while(lgt>0):
endPos=self.laneShape[self.laneInd+1] endPos=self.laneShape[self.laneInd+1]
l=math.dist(self.pos,self.laneShape[self.laneInd+1]) l=math.dist(self.pos,endPos)
if lgt>=l: if lgt>=l:
lgt-=l lgt-=l
pos=list(self.laneShape[-1]) pos=list(self.laneShape[-1])