Ciao a tutti!
Ho un problema di progettazione:
In un videogioco ho creato una classe principale Entity estesa da tutte le classi che hanno un'animazione (come la classe Nemico, PersonaggioPrincipale e la classe Bonus). Dovrei creare però diversi tipi di Oggetti Bonus: un tipo che rimane fisso sullo schermo (come le monete di "Mario Bros" per intenderci..) e l'altro tipo invece compare per un'intervallo di tempo (inversamente proporzionale al suo punteggio) e poi sparisce.
Io ho creato questo tipo di progettazione con 1 sola classe Bonus che estende Entity differenziando gli oggetti Bonus alla creazione, nel costruttore, in questo modo:
Non mi sembra molto corretto come stile i progettazione questa prima soluzione che ho implementato..Secondo voi sarebbe meglio fare un'interfaccia Bonus che estende la classe Entity e poi creare classi differenti per ogni oggetto Bonus che implementino l'interfaccia, oppure creare direttamente classi differenziate per ogni oggetto Bonus, ciascuna che estende la Classe Entity??codice:public Bonus(Game game, String riferimento_Immagine, Map map, float x, float y, char type) { super(riferimento_Immagine, map, x, y, type); this.game = game; this.tipo = type; if(type == map.MONETA) { this.punti = 100; this.visibile = true; } if(type == map.PREMIO) { this.punti = 200; this.visibile = false; ContaTempo timer = new ContaTempo(); } if(type == map.CHIAVE) { this.punti = 0; this.visibile = true; } }

Rispondi quotando

