is_alive() is now based on player's health instead of a dedicated state

This commit is contained in:
andrea
2025-07-24 19:16:30 +02:00
parent e66a6fbd9c
commit 05d1718775

View File

@@ -8,11 +8,10 @@ class BrSimPlayer():
self.inventory= inventory or []
self.damage= 1 # this is the punch damage amount
self.max_weight= 5 # this is the max inventory weight
self.is_alive= True
self.agility= 10 # chance to avoid an hit
def is_alive(self):
return self.is_alive
return self.health > 0
def attack(self, target):
if not self.is_alive(): return
@@ -25,7 +24,6 @@ class BrSimPlayer():
self.health -= damage
if self.health <= 0:
self.health = 0
self.is_alive = False
# show something like 'player is dead'
else:
# show something like 'get hit'
@@ -34,7 +32,6 @@ class BrSimPlayer():
def try_to_avoid_hit(self):
# maybe depend on the attack, if it is a gun shot it's quite impossible to dodge
rnd= _random.randint(0, 100)
# if rnd > self.agility: return True ## XXX this is strange, if the agility is high the chances to dodge are lower
if rnd < self.agility: return True
return False