Ok, quindi sto cercando di consolidare un po 'di apprendimento che sto facendo. Quello che sto per fare è creare un piccolo gioco relativo a un gioco che mi piace chiamato Persona.
Per riferimento a un personaggio che puoi pensare come un Pokemon.
Fondamentalmente voglio che il flusso sia l'utente sceglie un personaggio, un'arma e una persona (da una lista di personaggi e persone predefiniti, cioè statistiche e incantesimi predefiniti per la persona e armi, statistiche e personaggi predefiniti per i personaggi). Sceglieranno e userò matematica / if / whiles per calcolare i vincitori.
Al momento ho una classe Characters (con variabili di istanza Persona, Stats e Weapon), una classe Character Stats (health, mana etc IVs), una classe Persona (con statistiche personali e nome iv), una classe di statistiche Persona (agility forza ecc. IV) (più avanti classificherò la classe PersonaSpells) e una classe Armi (attacco, colpo, ecc. IV), così come una classe Duel (dove verranno eseguiti tutti i calcoli e metodi per la selezione del giocatore, la selezione nemica ecc. con la mia attuale implementazione tutti gli oggetti personaggio, gli oggetti personali e gli oggetti arma ecc saranno definiti in questa classe e assegnati usando, ad esempio, caratteri Carattere = nuovo Carattere (Nome, Salute, Persona, Arma, ...), con costruttori per persona e Un'arma definita prima di questo, infine una classe principale in cui userò efficacemente un oggetto della classe duel per eseguire il gioco, e manterrò la classe principale e il metodo più chiaro.
La mia domanda è, questo disegno è difettoso in questo, finisco per dover dichiarare un sacco di oggetti (come IV) dai costruttori delle mie classi. (Quindi ho un oggetto di tutte e 20 le armi, tutti i 10 personaggi, tutti i 20 Personas, tutte le 10 statistiche di personaggi, tutte le 20 statistiche personali) Tutto nella mia classe Duel. Esempio di codice di seguito:
private Weapon deusXiphos = new Weapon();
(x 20 more like this)
private PersonaStats artemisiaStats = new PersonaStats();
(x 20 more like this)
private Persona artemisia = new Persona();
(* 20 more like this)
private CharacterStats mitsuruStats = new CharacterStats(400, 250);
(* 10 more like this)
private Character mitsuru = new Character("Mitsuru", artemisia, deusXiphos, mitsuruStats);
(* 10 more like this)