1
0

add random health, random damage and show full player stats with emoji

This commit is contained in:
andrea
2025-07-26 15:53:26 +02:00
parent 308c9e3602
commit 65688b9100
4 changed files with 35 additions and 21 deletions

View File

@@ -6,12 +6,14 @@ class BrSimPlayer():
def __init__(self, name, inventory= None):
self.id= str(_uuid.uuid4())
self.name= name
self.health= 1
self.stats= ''
self.health= _random.randint(1,3)
self.inventory= inventory or []
self.damage= 1 # this is the punch damage amount
self.damage= _random.randint(1,2) # this is the punch damage amount
self.max_weight= 5 # this is the max inventory weight
self.agility= _random.randint(5,30) # chance to avoid an hit
self.kills= 0 # track the number of kills
self.accused_damage= 0
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
@@ -19,6 +21,16 @@ class BrSimPlayer():
### control methods
def get_name_and_stats(self):
health= '♥️' * self.health
strength= '⚔️' * self.damage
agility= f'🚀{self.agility}'
if self.player_gender_is_male(): gender= ''
elif self.player_gender_is_female(): gender= ''
else: gender= ''
name= f'{self.name} {gender} {health} {strength} {agility}'
return name
def get_id(self):
return self.id
@@ -66,6 +78,7 @@ class BrSimPlayer():
return {
'id': self.get_id(),
'name': self.get_name(),
'name_stats': self.get_name_and_stats(),
'gender': self.get_gender(),
'inventory': self.get_inventory(),
'inventory_weight': self.get_inventory_weight(),
@@ -102,41 +115,42 @@ class BrSimPlayer():
return False
def accuses_damage(self, damage):
self.health -= damage
self.health-= damage
self.accused_damage+= damage
if self.health > 0: return self.get_health()
self.health = 0
self.health= 0
if self.player_gender_is_male():
print(f'[{self.get_name()}]: Guarino, perdonami se sono morto x.x')
print(f'[{self.get_name_and_stats()}]: Guarino, perdonami se sono morto x.x')
elif self.player_gender_is_female():
print(f'[{self.get_name()}]: Guarino, perdonami se sono morta x.x')
print(f'[{self.get_name_and_stats()}]: Guarino, perdonami se sono morta x.x')
else:
print(f'[{self.get_name()}]: Guarino, perdonami se sono mort* x.x')
print(f'[{self.get_name_and_stats()}]: Guarino, perdonami se sono mort* x.x')
return damage
def attack(self, target):
self._equip_weapon()
if target.dodge():
if target.player_gender_is_male():
msg= f'Ehhhh voleviiii!!! sei lentoo! {target.get_name()} schiva il colpo di {self.get_name()}'
msg= f'Ehhhh voleviiii!!! sei lentoo! {target.get_name_and_stats()} schiva il colpo di {self.get_name_and_stats()}'
elif target.player_gender_is_female():
msg= f'Ehhhh voleviiii!!! sei lentaa! {target.get_name()} schiva il colpo di {self.get_name()}'
msg= f'Ehhhh voleviiii!!! sei lentaa! {target.get_name_and_stats()} schiva il colpo di {self.get_name_and_stats()}'
else:
msg= f'Ehhhh voleviiii!!! sei lent##! {target.get_name()} schiva il colpo di {self.get_name()}'
msg= f'Ehhhh voleviiii!!! sei lent##! {target.get_name_and_stats()} schiva il colpo di {self.get_name_and_stats()}'
return 0, msg
target.accuses_damage(self.damage)
msg= f'{self.get_name()} Colpisce {target.get_name()}'
msg= f'{self.get_name_and_stats()} Colpisce {target.get_name_and_stats()}'
self.kills+= 1
return self.damage, msg
def get_item(self, item):
if self.get_inventory_weight() + item.get_weight() >= self.get_max_weight():
if self.player_gender_is_male():
print(f'Sono sovraccarico, {self.get_name} non puo\' prendere questo oggetto')
print(f'Sono sovraccarico, {self.get_name_and_stats} non puo\' prendere questo oggetto')
elif self.player_gender_is_female():
print(f'Sono sovraccarica, {self.get_name} non puo\' prendere questo oggetto')
print(f'Sono sovraccarica, {self.get_name_and_stats} non puo\' prendere questo oggetto')
else:
print(f'Sono sovraccaric#, {self.get_name} non puo\' prendere questo oggetto')
print(f'Sono sovraccaric#, {self.get_name_and_stats} non puo\' prendere questo oggetto')
return False
self.inventory.append(item)