from random import choice, randrange class Husdjur(object): """ Ett virtuellt husdjur """ def __init__(self, namn1="", namn2=""): """Ger husdjurets attribut slumpade värden""" self.namnet = choice("BCFKR" )+choice("iouy")+\ choice("nst")*2+choice("aey") if namn1: self.namnet = namn1 + "-" + namn2 + "-" + self.namnet self.glad = randrange(10) self.hunger = randrange(3) self.kon = choice(("hona","hane")) self.__preferens = choice(("samma","annat")) def namn(self): """Åtkomstmetod för namnet""" return self.namnet def bytNamn(self, nyttNamn): """Ändringsmetod för namnet""" self.namnet = nyttNamn def kontakt(self, kompis): """Testar om kontakt uppstår mellan detta husdjur och dess kompis""" if (self.kon == kompis.kon): if (self.__preferens == "samma") and (kompis.__preferens == "samma"): print "Puss!" return True elif (self.kon != kompis.kon): if (self.__preferens == "annat") and (kompis.__preferens == "annat"): print "Puss!" return True else: return False def __str__(self): """Returnerar en sträng som beskriver husdjuret""" beskrivning = self.namnet + " är " if self.glad > 5: beskrivning += "glad: (^_^)" else: beskrivning += "ledsen: (T_T)" if self.hunger > 3: beskrivning += " och hungrig!" else: beskrivning += " och mätt." return beskrivning def banna(self): """ Ger husdjuret bannor. Glad minskar.""" print "- Fy på dig", self.namnet, "!" self.glad -= 3 def mata(self, mat): """Ger husdjuret mat. Hunger minskar.""" for i in range(mat): print "GLUFS", print self.hunger -= mat def leka(self): """Leker med husdjuret. glad och hunger ökar""" self.glad += 1 print "\n~~~~~~~~~~~ WHEEEEEEE! ~~~~~~~~~~~" self.hunger += 3 def avsked(self): """Tar avsked.""" print "Hejdå,", self.namnet, "kommer att sakna dig!"