import socket
import Protokoll


class Client(object):

    def __init__(self, server_addr='localhost', server_port=12345):
        self.__server_addr = server_addr
        self.__server_port = server_port 
        self.__connection = socket.socket()
        self.__client_addr = socket.gethostbyname(socket.gethostname())

    def start(self):
        self.__connection.connect((self.__server_addr, self.__server_port))

        #Sagt Hallo    
        print('Willkommen zum Spiel:  Zahlen raten !')
        name= input('...gib deinen Namen ein um zu spielen ')
        self.__connection.sendall(Protokoll.encode(Protokoll.HALLO, (name,)))
        print('Ich habe mir ein Zahl zwischen 1 und 100 ausgedacht! Kannst du sie erraten?')
        print('Gib deinen Tipp ab:')
    
        #Start spiel
        nachricht = Protokoll.decode(self.__connection.recv(1024))
        if nachricht[0] != Protokoll.JA:  # Nich akzeptiert
            return

        self.versuchZahl=input('')
        self.__connection.sendall(Protokoll.encode(Protokoll.WARTE, (self.versuchZahl,)))
        nachricht = Protokoll.decode(self.__connection.recv(1024))
        print(nachricht[1])
        
        while (nachricht[1] != 'Ende'):
            if(nachricht[0] == Protokoll.WARTE):
                self.versuchZahl=input('')
                self.__connection.sendall(Protokoll.encode(Protokoll.WARTE, (self.versuchZahl,)))
                nachricht = Protokoll.decode(self.__connection.recv(1024))
                print(nachricht[1])

        print('Richtig! Du hast die Zahl erraten!')
        self.__connection.close()
                 
                
        


if __name__ == "__main__":
    client = Client()
    client.start()
 

