School Commit Init
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
import socket
|
||||
import json
|
||||
|
||||
class Client:
|
||||
def __init__(self, address, port):
|
||||
self.address = address
|
||||
self.port = port
|
||||
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
|
||||
def connect(self):
|
||||
self.socket.connect((self.address, self.port))
|
||||
|
||||
def send(self, message):
|
||||
self.socket.send(message.encode())
|
||||
|
||||
def receive_string(self):
|
||||
return self.socket.recv(1024).decode()
|
||||
|
||||
def receive(self):
|
||||
return json.loads(self.socket.recv(1024))
|
||||
|
||||
def close(self):
|
||||
self.socket.close()
|
||||
|
||||
class UI:
|
||||
def __init__(self):
|
||||
self.client = Client("172.30.114.67", 3000)
|
||||
self.client.connect()
|
||||
print(self.client.receive_string())
|
||||
self.run()
|
||||
def run(self):
|
||||
while True:
|
||||
option = input("Choose an option: ")
|
||||
match option:
|
||||
case "1":
|
||||
self.client.send(option)
|
||||
data = self.client.receive()
|
||||
print("\nPlayer hand:")
|
||||
for card in data['playerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nPlayer score:", data['playerScore'])
|
||||
|
||||
print("\nDealer hand:")
|
||||
for card in data['dealerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nDealer score:", data['dealerScore'])
|
||||
case "2":
|
||||
self.client.send(option)
|
||||
print(self.client.receive_string())
|
||||
self.client.close()
|
||||
exit()
|
||||
case "stand":
|
||||
self.client.send(option)
|
||||
data = self.client.receive()
|
||||
if(data.get('error') != None):
|
||||
print(data['error'])
|
||||
continue
|
||||
print("\nPlayer hand:")
|
||||
for card in data['playerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nPlayer score:", data['playerScore'])
|
||||
|
||||
print("\nDealer hand:")
|
||||
for card in data['dealerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nDealer score:", data['dealerScore'])
|
||||
if(data.get('winner') != None):
|
||||
print("Winner: " + data['winner'])
|
||||
print(self.client.receive_string())
|
||||
else:
|
||||
print("hit or stand?")
|
||||
case "s":
|
||||
self.client.send(option)
|
||||
data = self.client.receive()
|
||||
if(data.get('error') != None):
|
||||
print(data['error'])
|
||||
continue
|
||||
print("\nPlayer hand:")
|
||||
for card in data['playerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nPlayer score:", data['playerScore'])
|
||||
|
||||
print("\nDealer hand:")
|
||||
for card in data['dealerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nDealer score:", data['dealerScore'])
|
||||
if(data.get('winner') != None):
|
||||
print("Winner: " + data['winner'])
|
||||
print(self.client.receive_string())
|
||||
else:
|
||||
print("hit or stand?")
|
||||
case "hit":
|
||||
self.client.send(option)
|
||||
data = self.client.receive()
|
||||
if(data.get('error') != None):
|
||||
print(data['error'])
|
||||
continue
|
||||
print("\nPlayer hand:")
|
||||
for card in data['playerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nPlayer score:", data['playerScore'])
|
||||
|
||||
print("\nDealer hand:")
|
||||
for card in data['dealerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nDealer score:", data['dealerScore'])
|
||||
if(data.get('winner') != None):
|
||||
print("Winner: " + data['winner'])
|
||||
print(self.client.receive_string())
|
||||
else:
|
||||
print("hit or stand?")
|
||||
case "h":
|
||||
self.client.send(option)
|
||||
data = self.client.receive()
|
||||
if(data.get('error') != None):
|
||||
print(data['error'])
|
||||
continue
|
||||
print("\nPlayer hand:")
|
||||
for card in data['playerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nPlayer score:", data['playerScore'])
|
||||
|
||||
print("\nDealer hand:")
|
||||
for card in data['dealerHand']:
|
||||
print(card, end=" ")
|
||||
print("\nDealer score:", data['dealerScore'])
|
||||
if(data.get('winner') != None):
|
||||
print("Winner: " + data['winner'])
|
||||
print(self.client.receive_string())
|
||||
else:
|
||||
print("hit or stand?")
|
||||
|
||||
case _:
|
||||
print("Invalid option")
|
||||
|
||||
|
||||
|
||||
ui=UI()
|
||||
Reference in New Issue
Block a user