72 lines
1.8 KiB
Python
72 lines
1.8 KiB
Python
#!/usr/bin/python
|
|
|
|
from tamagotchi import Tamagotchi
|
|
import names
|
|
import random
|
|
|
|
class Mayorgotchi:
|
|
mygotchis = []
|
|
name = ''
|
|
|
|
def __init__(self, list_of_tamagotchis):
|
|
self.mygotchis = list_of_tamagotchis
|
|
self.name = names.get_last_name()
|
|
|
|
def remove_corpses(self):
|
|
for n in self.mygotchis:
|
|
if n.is_dead():
|
|
self.mygotchis.remove(n)
|
|
|
|
def give_status(self,show_pct):
|
|
result = 'I am Mayorgotchi ' + self.name + '. These are the Tamagotchis in my Village:\n\n'
|
|
for n in self.mygotchis:
|
|
if show_pct:
|
|
result += n.status_pct()
|
|
else:
|
|
result += n.status_abs()
|
|
return result
|
|
|
|
def get_free(self):
|
|
freegotchis = []
|
|
for n in self.mygotchis:
|
|
if n.status is 'Idle':
|
|
freegotchis.append(n)
|
|
if freegotchis is not None:
|
|
return freegotchis[random.randrange(0,len(freegotchis),1)]
|
|
else:
|
|
return None
|
|
|
|
def get_hungry(self):
|
|
for n in self.mygotchis:
|
|
if n.status is 'Idle':
|
|
if n.hunger[0] <= 20:
|
|
return n
|
|
|
|
def get_dirty(self):
|
|
dirties = []
|
|
for n in self.mygotchis:
|
|
if n.hygiene[0] <= 20:
|
|
dirties.append(n)
|
|
if len(dirties) > 0:
|
|
return dirties[random.randrange(0,len(dirties),1)]
|
|
else:
|
|
return None
|
|
|
|
def order_feed(self):
|
|
hungry = self.get_hungry()
|
|
if hungry is not None:
|
|
self.get_free().feed_other(hungry)
|
|
|
|
def order_wash(self):
|
|
dirty = self.get_dirty()
|
|
if dirty is not None:
|
|
self.get_free().wash_other(dirty)
|
|
|
|
|
|
def step(self):
|
|
for n in self.mygotchis:
|
|
n.step()
|
|
self.remove_corpses()
|
|
self.order_feed()
|
|
self.order_wash()
|