Sto lavorando a una simulazione di guida molto semplice. Sto cercando di decidere la relazione tra i seguenti oggetti: Autostrada, Veicolo, Driver, Sensori di prossimità.
La mia analisi del mondo reale suggerisce le seguenti relazioni:
A. L'autostrada ha un veicolo: perché una superstrada può avere più auto e un'automobile può avere solo un'autostrada senza pedaggio
B. Il veicolo ha un autista: perché un veicolo può (di solito) avere solo un guidatore e un conducente può (di solito) solo avere sul veicolo
C. Il veicolo ha sensori di prossimità: solo un veicolo può avere un apparato per rilevare i veicoli vicini
Tuttavia, quando ho iniziato a codificarlo, ho notato alcune stranezze che vorrei chiarire. Ecco i costruttori che ho trovato:
Autostrada pubblica (autovettura)
Veicolo pubblico (Autostrada senza pedaggio, Autista)
ProximitySensor pubblica (Car car) // Per poter accedere direttamente alla posizione della macchina in questione
Driver pubblico ()
Molti di questi sono basati sulla convenienza / facilità, quindi sono sicuro che sto adottando l'approccio più breve / errato. Ecco alcune domande che ho riscontrato:
-
Prima di tutto, mi sento come se il pilota dovesse controllare il veicolo, ma come puoi vedere dalle altre mie domande, potrei chiedere al veicolo di chiedere al conducente di cambiare corsia anziché viceversa .
-
Spesso, voglio che i sensori di prossimità accedano all'autostrada in base alla posizione del veicolo (per rilevare altri veicoli vicini), tuttavia con questa struttura, una superstrada ha un veicolo e quindi non sono sicuro di come sia la vicinanza i sensori (attraverso il veicolo) accederanno all'autostrada a meno che non li passi anche al veicolo.
-
L'auto richiede il permesso dall'autostrada per cambiare posizione? Volevo che la macchina fosse indipendente dall'autostrada e che potesse avere un incidente se non fosse stata programmata / eseguita correttamente.
-
Quale funzione dovrebbe funzionare esattamente il driver? Hanno un nome, età, ecc. Ma dovrebbero essere quelli a chiamare i sensori di prossimità per conto della macchina? L'auto dovrebbe farlo direttamente?
-
Il driver deve avere il proprio metodo changeLanes (), che chiama changeLanes () dal Vehicle che quindi chiama la propria funzione di sensore di prossimità checkSide () che quindi opera su Freeway?
Quando ho iniziato a codificarlo, le relazioni diventavano oscure senza che ogni oggetto avesse accesso a quasi tutti gli altri oggetti.