Edge cases, uppdatera pekare till bilar
Hej, jag har en funktion self.update_loser_relations som ska uppdatera alla bilars pekare (främre bil, bakre bil, bakre vänster bil, bakre höger bil), men jag tycker jag gör det på ett klumpigt sätt.
För pekare inom samma körfält (bak&fram)
- Specialfall då körfältet bara har en bil: sätt främre och bakre till None
- annars sätt bakre & främre enligt
För pekare till höger/vänster:
- Specialfall då körfältet innehåller noll bilar: sätt till None
- Specialfall då körfältete innehåller 1 bil: peka på den (även om den inte är "bakokm" bilen)
- Annars så gör detta (hitta bilen med position precis under):
men denna loop har också ett undantag vilket är om ingen bil i högra/vänstra körfältet har x mindre än bilen, i vilket fall dess flankerande ska sättas till bilen längst fram i höger/vänster körfält.
Finns det nåt sätt att undvika dessa fula specialfall? Min kod är så klumpig
Vad är det du vill åstadkomma? Beskriv uppgiften så kanske vi kan föreslå en bättre datastruktur. Är det givet att bilarna ska modelleras som en objektgraf med referenser mellan sig?
Alternativ representation:
laneA = [car1, car2]
laneB = [car3]
lanes = [laneA, laneB]
Jag ser nu att du beskrivit uppgiften i en annan fråga
https://www.pluggakuten.se/trad/diskretiseringsproblem-nar-man-simulerar-verkliga-saker/
Ja precis, sorry, jag antog bara att alla hängde med från mina förra trådar. Om nåt är oklart så förklarar jag gärna igen!