Implemented player death mechanism
This commit is contained in:
parent
5a600eff11
commit
a275678e3f
@ -20,6 +20,9 @@ class Player(Entity):
|
|||||||
# Used to determine fatigue
|
# Used to determine fatigue
|
||||||
self.fatigueTimeout = 0
|
self.fatigueTimeout = 0
|
||||||
|
|
||||||
|
self.alive = True
|
||||||
|
# If a player dies, the death reason is stored here
|
||||||
|
self.deathReason = None
|
||||||
# Move in a desired direction
|
# Move in a desired direction
|
||||||
def move(self, rotation):
|
def move(self, rotation):
|
||||||
self.movePoints += 1
|
self.movePoints += 1
|
||||||
@ -87,12 +90,30 @@ class Player(Entity):
|
|||||||
self.image = pygame.transform.rotate(self.image, ((self.rotation.value - rotation.value) * 90))
|
self.image = pygame.transform.rotate(self.image, ((self.rotation.value - rotation.value) * 90))
|
||||||
self.rotation = rotation
|
self.rotation = rotation
|
||||||
|
|
||||||
|
# Updates self.alive if any of the statistic reaches critical value
|
||||||
|
def determineLife(self):
|
||||||
|
if self.statistics.hunger == 100:
|
||||||
|
self.alive = False
|
||||||
|
self.deathReason = StatisticNames.HUNGER
|
||||||
|
elif self.statistics.thirst == 100:
|
||||||
|
self.alive = False
|
||||||
|
self.deathReason = StatisticNames.THIRST
|
||||||
|
elif self.statistics.hp == 0:
|
||||||
|
self.alive = False
|
||||||
|
self.deathReason = StatisticNames.HP
|
||||||
|
|
||||||
|
# Change texture after dying
|
||||||
|
if not self.alive:
|
||||||
|
self.image, null = self.getTexture("gravestone.png", self.rect.h)
|
||||||
|
|
||||||
# Called every frame
|
# Called every frame
|
||||||
def update(self):
|
def update(self):
|
||||||
self.timeAlive += self.timer.get_time()
|
if self.alive:
|
||||||
# Player gets tired every once in a while
|
self.timeAlive += self.timer.get_time()
|
||||||
self.applyTimeFatigue(self.timer.get_time())
|
# Player gets tired every once in a while
|
||||||
self.timer.tick()
|
self.applyTimeFatigue(self.timer.get_time())
|
||||||
|
self.timer.tick()
|
||||||
|
self.determineLife()
|
||||||
|
|
||||||
|
|
||||||
class Rotations(Enum):
|
class Rotations(Enum):
|
||||||
|
Loading…
Reference in New Issue
Block a user