from random import choice, randrange
from slumpmodul import slumpnamn

class Husdjur(object):
    """ Ett virtuellt husdjur """
 
    def __init__(self):
        """Ger husdjurets attribut slumpade värden"""
        self.__namn = slumpnamn()
        self.__glad = randrange(10)
        self.__hunger = randrange(3)
        self.__kön = choice(("hona","hane"))
        self.__preferens = choice(("samma","annat"))
 
    def  namn(self):
        """Åtkomstmetod för namnet"""
        return self.__namn
 
    def  bytNamn(self, nyttNamn):
        """Ändringsmetod för namnet"""
        self.__namn = nyttNamn
 
    def __str__(self):
        """Returnerar en sträng som beskriver husdjuret""" 
        beskrivning = self.__namn + " ä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.__namn, "!")
        self.__glad -= 3
 
    def mata(self, mat):
        """Ger husdjuret mat. Hunger minskar."""
        for i in range(mat):
            print("GLUFS",end="")
        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.__namn, "kommer att sakna dig!")
 
    def gosa(self):
        """Gosar med husdjuret."""
        print("Myys")
        self.__glad += 12

    def  kontakt(self, kompis):
        """Testar om kontakt uppstår mellan 
       detta husdjur (self) och 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

