Questo è il mio primo post qui su programmers.stackexchange (sono un utente regolare su SO). Spero che non sia troppo generico.
Sto provando un progetto semplice per imparare Java da qualcosa che ho visto fare in passato. Fondamentalmente, è una simulazione di IA in cui ci sono creature erbivore e carnivore ed entrambi devono cercare di sopravvivere. La parte che sto cercando di fare è quella del consiglio stesso.
Assumiamo regole molto semplici. La scheda deve essere di dimensione X per Y e solo un elemento può essere in un posto alla volta. Ad esempio, un critter
non può essere nella stessa casella di un blocco food
. Ci possono essere ostacoli (rocce, alberi ..), ci può essere cibo, ci possono essere creature di qualsiasi tipo. Assumendo queste regole, quale sarebbe un buon modo per rappresentare questa situazione?
Questo è quello che mi è venuto in mente e voglio dei suggerimenti se possibile:
Usa più livelli di ereditarietà per rappresentare tutti i diversi possibili oggetti (AbstractObject - > (NonMovingObject - > (Cibo, Ostacolo), MovingObject - > Critter - > (Carnivoro, Erbivoro)) e usa il polimorfismo in una matrice 2D per memorizzare le istanze e avere ancora accesso ai metodi di livello inferiore.
Grazie mille.
Modifica: Ecco la rappresentazione grafica della struttura che ho in mente.