abstracted update functions for stats
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
# The lenght of one game cycle in milliseconds
|
||||||
|
ticklenght = 0.1
|
||||||
# The amount of points a Tamagotchi loses per tick
|
# The amount of points a Tamagotchi loses per tick
|
||||||
decayaspeed = 1
|
decayaspeed = 1
|
||||||
# Controls if Tamagotchi stats are shown in absolute vlaues or precentage (Possible values: True/False)
|
# Controls if Tamagotchi stats are shown in absolute vlaues or precentage (Possible values: True/False)
|
||||||
show_pct = False
|
show_pct = True
|
||||||
# When new Tamagotchis are created their stats will be be created randomly between these.
|
# When new Tamagotchis are created their stats will be be created randomly between these.
|
||||||
min_stat = 100
|
min_stat = 100
|
||||||
max_stat = 200
|
max_stat = 200
|
||||||
|
|||||||
BIN
config.pyc
BIN
config.pyc
Binary file not shown.
103
tamagotchi.py
103
tamagotchi.py
@@ -3,10 +3,10 @@
|
|||||||
class Tamagotchi:
|
class Tamagotchi:
|
||||||
status = ''
|
status = ''
|
||||||
name = ''
|
name = ''
|
||||||
hunger = 0
|
hunger = []
|
||||||
happiness = 0
|
happiness = []
|
||||||
hygiene = 0
|
hygiene = []
|
||||||
sleep = 0
|
sleep = []
|
||||||
dead = False
|
dead = False
|
||||||
decayspeed = 0
|
decayspeed = 0
|
||||||
potential = 0
|
potential = 0
|
||||||
@@ -38,78 +38,57 @@ class Tamagotchi:
|
|||||||
self.status = 'Working'
|
self.status = 'Working'
|
||||||
tamagotchi.status = 'Bathing'
|
tamagotchi.status = 'Bathing'
|
||||||
|
|
||||||
def update_sleep(self):
|
def update_stat(self,stat,recovering):
|
||||||
if self.status is 'Sleeping':
|
if recovering:
|
||||||
if self.sleep[0] >= self.sleep[1]:
|
if stat[0] >= stat[1]:
|
||||||
|
self.status = 'Idle'
|
||||||
|
if stat[0] >= stat[1] - self.recovery:
|
||||||
|
stat[0] = stat[1]
|
||||||
self.status = 'Idle'
|
self.status = 'Idle'
|
||||||
if self.sleep[0] >= self.sleep[1] - self.recovery:
|
|
||||||
self.sleep[0] = self.sleep[1]
|
|
||||||
else:
|
else:
|
||||||
self.sleep[0] += self.recovery
|
stat[0] += self.recovery
|
||||||
else:
|
else:
|
||||||
if self.sleep[0] <= 0 + self.decayspeed:
|
if stat[0] <= 0 + self.decayspeed:
|
||||||
self.sleep[0] = 0
|
stat[0] = 0
|
||||||
self.status = 'Sleeping'
|
|
||||||
else:
|
else:
|
||||||
self.sleep[0] -= self.decayspeed
|
stat[0] -= self.decayspeed
|
||||||
|
|
||||||
def update_hunger(self):
|
def update_status(self):
|
||||||
if self.status is 'Eating':
|
if not self.dead:
|
||||||
if self.hunger[0] >= self.hunger[1]:
|
if self.hunger[0] <= 0:
|
||||||
self.status = 'Idle'
|
|
||||||
if self.hunger[0] >= self.hunger[1] - self.recovery:
|
|
||||||
self.hunger[0] = self.hunger[1]
|
|
||||||
else:
|
|
||||||
self.hunger[0] += self.recovery
|
|
||||||
else:
|
|
||||||
if self.hunger[0] <= 0 + self.decayspeed:
|
|
||||||
self.hunger[0] = 0
|
|
||||||
self.status = 'Dead'
|
self.status = 'Dead'
|
||||||
self.dead = True
|
self.dead = True
|
||||||
else:
|
if self.sleep[0] <= 0:
|
||||||
self.hunger[0] -= self.decayspeed
|
self.status = 'Sleeping'
|
||||||
|
|
||||||
def update_hygiene(self):
|
|
||||||
if self.status is 'Bathing':
|
|
||||||
if self.hygiene[0] >= self.hygiene[1]:
|
|
||||||
self.status = 'Idle'
|
|
||||||
if self.hygiene[0] >= self.hygiene[1] - self.recovery:
|
|
||||||
self.hygiene[0] = self.hygiene[1]
|
|
||||||
else:
|
|
||||||
self.hygiene[0] += self.recovery
|
|
||||||
else:
|
|
||||||
if self.hygiene[0] <= 0 + self.decayspeed:
|
|
||||||
self.hygiene[0] = 0
|
|
||||||
else:
|
|
||||||
self.hygiene[0] -= self.decayspeed
|
|
||||||
|
|
||||||
def update_happiness(self):
|
|
||||||
if self.status is 'Playing':
|
|
||||||
if self.happiness[0] >= self.happiness[1]:
|
|
||||||
self.status = 'Idle'
|
|
||||||
if self.happiness[0] >= self.happiness[1] -self.recovery:
|
|
||||||
self.happiness[0] = self.happiness[1]
|
|
||||||
else:
|
|
||||||
self.happiness[0] += self.recovery
|
|
||||||
else:
|
|
||||||
if self.happiness[0] <= 0 + self.decayspeed:
|
|
||||||
self.happiness[0] = 0
|
|
||||||
else:
|
|
||||||
self.happiness[0] -= self.decayspeed
|
|
||||||
|
|
||||||
def step(self):
|
|
||||||
if not self.dead:
|
|
||||||
if self.status is 'Working':
|
if self.status is 'Working':
|
||||||
if self.power <= 0:
|
if self.power <= 0:
|
||||||
self.status = 'Idle'
|
self.status = 'Idle'
|
||||||
self.power = self.potential
|
self.power = self.potential
|
||||||
else:
|
else:
|
||||||
self.power -= 1
|
self.power -= 1
|
||||||
|
|
||||||
|
def step(self):
|
||||||
|
self.update_status()
|
||||||
|
|
||||||
|
if self.status is 'Eating':
|
||||||
|
self.update_stat(self.hunger,True)
|
||||||
else:
|
else:
|
||||||
self.update_hunger()
|
self.update_stat(self.hunger,False)
|
||||||
self.update_sleep()
|
|
||||||
self.update_hygiene()
|
if self.status is 'Sleeping':
|
||||||
self.update_happiness()
|
self.update_stat(self.sleep,True)
|
||||||
|
else:
|
||||||
|
self.update_stat(self.sleep,False)
|
||||||
|
|
||||||
|
if self.status is 'Bathing':
|
||||||
|
self.update_stat(self.hygiene,True)
|
||||||
|
else:
|
||||||
|
self.update_stat(self.hygiene,False)
|
||||||
|
|
||||||
|
if self.status is 'Playing':
|
||||||
|
self.update_stat(self.happiness,True)
|
||||||
|
else:
|
||||||
|
self.update_stat(self.happiness,False)
|
||||||
|
|
||||||
def is_dead(self):
|
def is_dead(self):
|
||||||
if self.dead:
|
if self.dead:
|
||||||
|
|||||||
BIN
tamagotchi.pyc
BIN
tamagotchi.pyc
Binary file not shown.
Reference in New Issue
Block a user