# Critter Caretaker<br># A virtual pet to care for<br>class Farm(object):<br>#A collection of Critters <br><br> def talk(self,farm):<br> farm.talk()<br><br><br><br>class Critter(object):<br> <br> """A virtual pet"""<br>
def __init__(self, name, hunger = 0, boredom = 0):<br> <a href="http://self.name">self.name</a> = name<br> self.hunger = hunger<br> self.boredom = boredom<br><br> # __ denotes private method<br>
def __pass_time(self,farm):<br> self.hunger += 1<br> self.boredom += 1<br> self.__str__()<br><br> def __str__(self,farm):<br> print("Hunger is",self.hunger, "Boredom is " ,self.boredom)<br>
print("Unhappines is ",self.hunger + self.boredom," and Mood is ",self.mood)<br> <br> <br> <br> @property<br> def mood(self,farm):<br> unhappiness = self.hunger + self.boredom<br>
if unhappiness < 5:<br> m = "happy"<br> elif 5 <= unhappiness <= 10:<br> m = "okay"<br> elif 11 <= unhappiness <= 15:<br> m = "frustrated"<br>
else:<br> m = "mad"<br> return m<br> <br> def talk(self,farm):<br> print("I'm", <a href="http://self.name">self.name</a>, "and I feel", self.mood, "now.\n")<br>
self.__pass_time()<br> <br> <br> def eat(self,farm):<br> food = int(input("Enter how much food you want to feed your critter: "))<br> print("Brruppp. Thank you.")<br>
self.hunger -= food<br> # hunger = 0 at iniatition<br> # self.hunger = self.boredom - food<br> if self.hunger < 0:<br> self.hunger = 0<br> self.__pass_time()<br> <br>
<br> def play(self,farm):<br> fun = int(input("Enter how much fun you want your critter to have: "))<br> print("Wheee!")<br> self.boredom -= fun<br> # boredom = 0 at iniatition<br>
# self.boredom = self.boredom - fun<br> if self.boredom < 0:<br> self.boredom = 0<br> self.__pass_time()<br> <br><br>def main():<br>## crit_name = input("What do you want to name your critter?: ")<br>
## crit = Critter(crit_name) <br> <br> crit1 = Critter("Sweetie")<br> crit2 = Critter("Dave")<br> farm = [crit1,crit2]<br> <br> choice = None <br> while choice != "0":<br>
print \<br> ("""<br> Critter Caretaker<br> <br> 0 - Quit<br> 1 - Listen to your critter<br> 2 - Feed your critter<br> 3 - Play with your critter<br> """)<br>
<br> choice = input("Choice: ")<br> print()<br><br> # exit<br> if choice == "0":<br> print("Good-bye.")<br><br> # listen to your critter<br> elif choice == "1":<br>
self.talk()<br> <br> # feed your critter<br> elif choice == "2":<br> crit.eat()<br> <br> # play with your critter<br> elif choice == "3":<br>
crit.play()<br><br> # some unknown choice<br> else:<br> print("\nSorry, but", choice, "isn't a valid choice.")<br><br><br><br><br><br>main()<br>("\n\nPress the enter key to exit.") <br>
<br>Critter Caretaker<br> <br> 0 - Quit<br> 1 - Listen to your critter<br> 2 - Feed your critter<br> 3 - Play with your critter<br> <br>Choice: 1<br><br>Traceback (most recent call last):<br>
File "D:\David\Python\programs\critter_farm2.py", line 118, in <module><br> main()<br> File "D:\David\Python\programs\critter_farm2.py", line 100, in main<br> self.talk()<br>NameError: global name 'self' is not defined<br>
>>> <br clear="all"><br>-- <br>Dave Merrick<br><br><a href="mailto:merrickdav@gmail.com">merrickdav@gmail.com</a><br><br>Ph 03 3423 121<br>Cell 027 3089 169<br>