Voglio un modo per creare molte unità diverse senza dover programmare cose come moveTo e Attack più di una volta
Per come la vedo io, ci sono 2 modi in cui posso farlo.
- Una singola classe di unità generica con flag che specifica cosa può / non può fare (quindi creare istanze in un array statico e acquisirle quando necessario)
- Classe di unità astratta con metodi astratti per azioni specifiche dell'unità come (Attacco, Raccolto, Pattuglia), che quindi devono essere implementate tutte nelle sottoclassi , anche se l'unità non può effettivamente raccogliere nulla.
il primo modo per farlo sembra il più semplice, ma finirei per avere un sacco di codice inutilizzato per la maggior parte delle unità.
il secondo modo potrebbe anche funzionare. Ma se decido di avere due unità diverse in grado di raccogliere risorse, avrò lo stesso codice esatto in due classi diverse, che non sembra il modo giusto per farlo.
È forse questo l'approccio giusto a questo problema?
In un gioco come AoE, ogni unità ha, quello che presumo sia, una specie di Elenco di Azioni / Ordini, Mi piacerebbe davvero sapere come ottenere qualcosa di simile a quello, dove posso semplicemente codificare ogni Azione / Ordine una volta, e quindi dallo a tutte le unità che necessitano di detta Azione.
Se non sono chiaro (altamente plausibile) o hai bisogno di maggiori informazioni su cosa sto esattamente cercando, chiedimi in un commento.