diff --git a/Konane.py b/Konane.py new file mode 100644 index 0000000..6a9513f --- /dev/null +++ b/Konane.py @@ -0,0 +1,12 @@ +import client +import state + +# Top level class that has the client and the state +class Konane: + def __init__(self): + self.client = client.ArtemisClient("artemis.engr.uconn.edu", 4705) + self.state = state.State() + self.playerNumber = None + + def start(self): + self.playerNumber = self.client.initialize('TESTOPPONENT') diff --git a/client.py b/client.py index 043d243..6bff94f 100644 --- a/client.py +++ b/client.py @@ -6,30 +6,46 @@ class ArtemisClient: def __init__(self, server_host, server_port): self.server_host = server_host self.server_port = server_port - - def start(self): + self.username = "MHJZ" + self.password = "4705" + self.server_sock = None + + def waitForResponse(self): + response = self.server_sock.recv(1024).decode('UTF-8').rstrip() + print(response, end="") + return response + + def send(self, string): + formatted_string = string + "\r\n" + print(formatted_string, end="") + self.server_sock.send(formatted_string.encode()) + + def initialize(self, opponent): # Create socket and connect to server try: - server_sock = socket.socket( + self.server_sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM) - server_sock.connect((self.server_host, self.server_port)) + self.server_sock.connect((self.server_host, self.server_port)) except OSError: - if server_sock: - server_sock.close() + if self.server_sock: + self.server_sock.close() sys.exit(1) + + #self.server_sock.sendall("!".encode("utf-8")) + self.waitForResponse() + self.waitForResponse() + self.send(self.username) + self.waitForResponse() + self.send(self.password) + self.waitForResponse() + self.send(opponent) + self.waitForResponse() + response = self.waitForResponse() + playerNumber = int(response[7]) - #server_sock.sendall("!".encode("utf-8")) - print(server_sock.recv(1024).decode("UTF-8")) - print(server_sock.recv(1024).decode("UTF-8")) - server_sock.send("13\r\n".encode()) - print(server_sock.recv(1024).decode("UTF-8")) - - server_sock.close() - - print("\nDone!") - - + # Return player's turn position + return playerNumber -client = ArtemisClient("artemis.engr.uconn.edu", 4705) -client.start() + def close(self): + self.server_sock.close()