diff --git a/Game Server/server logic notes.md b/Game Server/server logic notes.md index c815e72..7370d4a 100644 --- a/Game Server/server logic notes.md +++ b/Game Server/server logic notes.md @@ -34,4 +34,9 @@ - what turn state is currently active - draw state - place state - - is the player trying to do actions not allowed in the given state \ No newline at end of file + - is the player trying to do actions not allowed in the given state + +# drawing cards: +- ensure the player only can have 7 cards + - if limit exceeds the player payes lifepoints and drops a card +- ensure the drawn card for sure still can be in the players deck \ No newline at end of file diff --git a/Game_Client/Classes/System/Network/EventHandler.py b/Game_Client/Classes/System/Network/EventHandler.py index bb14b5c..ba262f2 100644 --- a/Game_Client/Classes/System/Network/EventHandler.py +++ b/Game_Client/Classes/System/Network/EventHandler.py @@ -5,25 +5,27 @@ class TCPEventHandler: def __init__(self, socket:socket): self.tcp_socket = socket - def handleEvents(self, event): - pass + def handleEvents(self, message): + if message["event"] == "login": + # todo: handle login response here + pass class UDPEventHandler: def __init__(self, socket:socket): self.udp_socket = socket - def handleEvents(self, event): - if event["event"] == "PlaceCard": + def handleEvents(self, message): + if message["event"] == "PlaceCard": pass - elif event["event"] == "MoveCard": + elif message["event"] == "MoveCard": pass - elif event["event"] == "RemoveCard": + elif message["event"] == "RemoveCard": pass - elif event["event"] == "AttackCard": + elif message["event"] == "AttackCard": pass - elif event["event"] == "AttackPlayer": + elif message["event"] == "AttackPlayer": pass - elif event["event"] == "ActivateEffectCard": + elif message["event"] == "ActivateEffectCard": pass - elif event["event"] == "ActivateMonsterCard": + elif message["event"] == "ActivateMonsterCard": pass \ No newline at end of file diff --git a/Game_Client/Classes/System/chatgpt client.py b/Game_Client/Classes/System/chatgpt client.py deleted file mode 100644 index e69de29..0000000 diff --git a/Game_Client/Classes/System/chatgpt server.py b/Game_Client/Classes/System/chatgpt server.py deleted file mode 100644 index 7588e58..0000000 --- a/Game_Client/Classes/System/chatgpt server.py +++ /dev/null @@ -1,67 +0,0 @@ -import selectors -import socket -import json -import types - -sel = selectors.DefaultSelector() - -clients = {} # Dictonary, um Clients zu speichern - -def accept_wrapper(sock): - conn, addr = sock.accept() - print(f"Verbunden mit {addr}") - conn.setblocking(False) - data = types.SimpleNamespace(addr=addr, inb=b"", outb=b"") - events = selectors.EVENT_READ | selectors.EVENT_WRITE - sel.register(conn, events, data=data) - -def service_connection(key, mask): - sock = key.fileobj - data = key.data - - if mask & selectors.EVENT_READ: - recv_data = sock.recv(1024) - if recv_data: - data.outb += recv_data - try: - received_json = json.loads(recv_data.decode()) - # Hier könnte man weitere Verarbeitungsschritte für die empfangenen Daten durchführen - except json.JSONDecodeError: - pass - else: - print("Verbindung geschlossen mit", data.addr) - sel.unregister(sock) - sock.close() - del clients[data.addr] - - if mask & selectors.EVENT_WRITE: - if data.outb: - sent = sock.send(data.outb) - data.outb = data.outb[sent:] - -def start_server(): - host = '127.0.0.1' - port_tcp = 65432 - port_udp = 65433 - - server_tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - server_tcp.bind((host, port_tcp)) - server_tcp.listen() - server_tcp.setblocking(False) - sel.register(server_tcp, selectors.EVENT_READ, data=None) - - server_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) - server_udp.bind((host, port_udp)) - server_udp.setblocking(False) - sel.register(server_udp, selectors.EVENT_READ, data=None) - - while True: - events = sel.select(timeout=None) - for key, mask in events: - if key.data is None: - accept_wrapper(key.fileobj) - else: - service_connection(key, mask) - -if __name__ == "__main__": - start_server()