Please ignore secret bonuses. Secret tests do NOT award bonus. Max hw grade is 30+2 bonus efficiency

Do you need help?

Chiarimento costruttore Personaggi hw3bis es3

a
antonio_varlese (370 points)
2 4 7
in HW3bis by (370 points)
closed by
Il costruttore di Personaggi prende "data" e "casate"; come detto in un precedente post, casate è un dizionario dove man mano vengono inserite le casate create, così da usare sempre le stesse istanze, richiesta che viene fatta anche per le istanze dei personaggi che però non riesco a soddisfare e qui viene il mio problema. (se ho ben compreso data è il dizionario con tutti i dati di personaggio x, preso dal json)(casate l'ho strutturato con per ogni casata "nome_str_della_casata": oggetto_Casata)

Nella consegna viene detto:"Gli attributi con un asterisco sono liste di riferimenti ad altre istanze di classe Personaggio, corrispondenti ai personaggi cui la voce del dizionario fa riferimento.", dunque nelle liste vanno inseriti elementi di tipo Personaggio, che devono essere però sempre gli stessi senza crearne di nuovi, cosa che non riesco a fare.

L'idea per riuscire a riutilizzare sempre le stesse istanze era di salvarmele dentro un dizionario come per le casate e pensavo di utilizzare allora lo stesso dizionario creando una chiave solo per i personaggi dove inserivo tutte le istanze già create; qui però sorgeva un problema (mi aiuto con un esempio pratico):

nel momento in cui sto creando "Aegon Targaryen", arrivo all'attributo killedBy; in questo caso è stato ucciso da "Gregor Clegane" , che non è stato ancora creato, dunque procedo col crearlo lasciando in sospeso la creazione di "Aegon Targaryen", però quando sto creando "Gregor Clegane", nell'attributo killed avrò "Aegon Targaryen", che io non ho ancora creato e dunque mi va in loop.

Di conseguenza non so come agire; ho capito male qualche parte della consegna? sbaglio ad utilizzare data o casate?
277 views
closed with the note: answered

1 Answer

andrea.sterbini (207940 points)
754 1269 2377
by (208k points)
Hai provato a eseguire due passate? Nella prima crei i Personaggi e nella seconda li colleghi?
a
antonio_varlese (370 points)
2 4 7
by (370 points)
L'avevo varata come ipotesi, ma l'ho poi accantonata perchè pensavo fosse lento come procedimento. Ci proverò.