diff --git a/debug.py b/debug.py index b5fac40..1bf1138 100644 --- a/debug.py +++ b/debug.py @@ -15,9 +15,10 @@ def init_debug(): 'name': 'Zephyr', } ] - w= _wsyms.KNIFE - #weapons= [{_wsyms.WEAPONS[w]['name' ]: 1}] - weapons= [{w: 1}] + #w= _wsyms.KNIFE + ##weapons= [{_wsyms.WEAPONS[w]['name' ]: 1}] + #weapons= [{w: 1}] + weapons= [] Arena= _main.init_arena(players, weapons) print(f'Players: {Arena.get_players()}') @@ -34,5 +35,8 @@ def init_debug(): _time.sleep(0.3) #End of day + last_player= Arena.get_alive_players()[0] + print(f'{last_player.get_name()} sopravvive e vince dopo {Arena.day} lunghi Giorni, conquistando l\'amore eterno di Guarino') + if __name__ == '__main__': init_debug() diff --git a/entities/arena.py b/entities/arena.py index 97466d9..57033ab 100644 --- a/entities/arena.py +++ b/entities/arena.py @@ -18,10 +18,12 @@ class BrSimArena(): def next_day(self): self.day+= 1 print(f'Giorno: {self.day}') - print(f'Giocatori vivi: {self.get_alive_players()}') + alive_players_str= ', '.join([p.get_name() for p in self.get_alive_players()]) + print(f'Giocatori vivi: {alive_players_str}') death_players= self.get_death_players() if (death_players): - print(f'Giocatori morti: {death_players}') + death_players_str= ', '.join([p.get_name() for p in death_players]) + print(f'Giocatori morti: {death_players_str}') def get_alive_players(self): res= [] diff --git a/entities/player.py b/entities/player.py index 3a5b60b..90be57b 100644 --- a/entities/player.py +++ b/entities/player.py @@ -4,7 +4,7 @@ import uuid as _uuid class BrSimPlayer(): def __init__(self, name, inventory= None): - self.id= str(_uuid.uuid4) + self.id= str(_uuid.uuid4()) self.name= name self.health= 1 self.inventory= inventory or [] @@ -14,6 +14,7 @@ class BrSimPlayer(): self.kills= 0 # track the number of kills self.survived_days= 0 # track the number of the survived days self.equipped_weapon= None + self.gender= _random.sample(['m', 'f', '-'], 1)[0] # for now get a random gender ### control methods @@ -23,6 +24,9 @@ class BrSimPlayer(): def get_name(self): return self.name + def get_gender(self): + return self.gender + def get_inventory(self): return self.inventory @@ -49,6 +53,7 @@ class BrSimPlayer(): return { 'id': self.get_id(), 'name': self.get_name(), + 'gender': self.get_gender(), 'inventory': self.get_inventory(), 'inventory_weight': self.get_inventory_weight(), 'health': self.get_health(), @@ -84,20 +89,36 @@ class BrSimPlayer(): if self.health > 0: return self.get_health() self.health = 0 - print('Guarino, perdonami se sono morto x.x') + if self.get_gender() == 'm': + print(f'[{self.get_name()}]: Guarino, perdonami se sono morto x.x') + elif self.get_gender() == 'f': + print(f'[{self.get_name()}]: Guarino, perdonami se sono morta x.x') + else: + print(f'[{self.get_name()}]: Guarino, perdonami se sono mort* x.x') return damage def attack(self, target): self._equip_weapon() if target.dodge(): - print('Ehhhh voleviiii!!! sei lentoo!') + if target.get_gender() == 'm': + print(f'Ehhhh voleviiii!!! sei lentoo! {target.get_name()} schiva il colpo di {self.get_name()}') + elif target.get_gender() == 'f': + print(f'Ehhhh voleviiii!!! sei lentaa! {target.get_name()} schiva il colpo di {self.get_name()}') + else: + print(f'Ehhhh voleviiii!!! sei lent##! {target.get_name()} schiva il colpo di {self.get_name()}') return 0 target.accuses_damage(self.damage) + print(f'{self.get_name()} Colpisce {target.get_name()} in nome di Guarino') return self.damage def get_item(self, item): if self.get_inventory_weight() + item.get_weight() >= self.get_max_weight(): - print('Sono sovraccarico, non posso prendere questo oggetto') + if self.get_gender() == 'm': + print(f'Sono sovraccarico, {self.get_name} non puo\' prendere questo oggetto') + elif self.get_gender() == 'f': + print(f'Sono sovraccarica, {self.get_name} non puo\' prendere questo oggetto') + else: + print(f'Sono sovraccaric#, {self.get_name} non puo\' prendere questo oggetto') return False self.inventory.append(item)