3 svar
97 visningar
Qetsiyah 6567 – Livehjälpare
Postad: 25 jan 2023 16:01 Redigerad: 25 jan 2023 16:35

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

manik 82
Postad: 25 jan 2023 20:42

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]

manik 82
Postad: 26 jan 2023 00:07

Jag ser nu att du beskrivit uppgiften i en annan fråga

https://www.pluggakuten.se/trad/diskretiseringsproblem-nar-man-simulerar-verkliga-saker/

Qetsiyah 6567 – Livehjälpare
Postad: 26 jan 2023 00:20

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!

Svara
Close