less than 1 minute read

Riporto gli appunti e le considerazioni fatte nel processo di lavoro senza alterare l’autenticità del diario.


Ho reso l’inizializzazione del comportamento quasi totalmente dinamica. Ora generaAttributi è modificato così:

class Comportamento:
    # attributi relativi al comportamento hanno lachiave che inizia per c. 
    # es. cAttacco, cDurata. 
    def __init__(self, dizionario, idComportamento):
        self.idComportamento = idComportamento
        self.lista_tuples = list(dizionario.items())
        self.generaAttributi()
        self.eventiSonori = []
        #self.creaEventoSonoro()

    def generaAttributi(self):
        # Itera su tutta la lista di tuple, partendo dall'indice 0
        for i, (chiave, valore) in enumerate(self.lista_tuples):
            # Assegna sempre dinamicamente l'attributo
            setattr(self, chiave, valore)
            # Crea dinamicamente un attributo "pfield{i}" solo se i >= 3
            if i >= 3:
                setattr(self, f"pfield{i}", [])

In Sezione l’attacco del comportamento viene aggiornato in funzione dell’attacco della sezione


def genera_comportamenti(self):
    for index, c in enumerate(self.dizionario['comportamenti']):
        c['cAttacco'] += self.sAttacco
        self.comportamenti.append(Comportamento(c,index+1))


E questa è la versione del reporitory allo stato di lavoro del diario.