diff --git a/Client/Classes/Game/World.py b/Client/Classes/Game/World.py index c762375..94383ef 100644 --- a/Client/Classes/Game/World.py +++ b/Client/Classes/Game/World.py @@ -36,7 +36,6 @@ class World(): def buildGameWorld(self): # construct elements arround the playerfield - # Todo add lifepoint label for player and enemy and make them scriptable move to player class # presets the y position later passed down to the vector2 eRow1Height = 85 @@ -56,17 +55,10 @@ class World(): pManaPos = pygame.Vector2(20, pRow2Height + 255) # labeling -<<<<<<< HEAD:Game_Client/Classes/Game/World.py - self.__labels.append(Label("PlayerHP", self.__screen, "0 / 0", pHPPos)) - self.__labels.append(Label("PlayerName", self.__screen, "Not Connected", pNamePos)) - self.__labels.append(Label("PlayerMana", self.__screen, "0", pManaPos)) - self.__labels.append(Label("EnemyHP", self.__screen, "0 / 0", eHPPos)) -======= self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos)) self.__labels.append(Label("PlayerName", self.__screen, "Not Connected", pNamePos)) self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos)) self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos)) ->>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/Game/World.py self.__labels.append(Label("EnemyName", self.__screen, "Not Connected", eNamePos)) self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-deck")) diff --git a/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc b/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc index 17a0ef4..72f14ce 100644 Binary files a/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc and b/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc differ diff --git a/Client/Classes/Game/__pycache__/World.cpython-312.pyc b/Client/Classes/Game/__pycache__/World.cpython-312.pyc index ec50959..0cdb6f3 100644 Binary files a/Client/Classes/Game/__pycache__/World.cpython-312.pyc and b/Client/Classes/Game/__pycache__/World.cpython-312.pyc differ diff --git a/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc b/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc index ef52463..1867184 100644 Binary files a/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc and b/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc differ diff --git a/Client/Classes/System/Network/EventHandler.py b/Client/Classes/System/Network/EventHandler.py index d4dc6b6..9188d33 100644 --- a/Client/Classes/System/Network/EventHandler.py +++ b/Client/Classes/System/Network/EventHandler.py @@ -13,15 +13,9 @@ class TCPEventHandler: def __init__(self, socket:socket): self.tcp_socket = socket -<<<<<<< HEAD:Game_Client/Classes/System/Network/EventHandler.py - def handleEvents(self, message:dict, inputHandler:InputHandler, world:World): - if message["event"] == "loginresponse": - # todo: handle login response here -======= def handleEvents(self, message, inputHandler:InputHandler, world:World): print(message) if message["event"] == "loginresponse": ->>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/System/Network/EventHandler.py LoginResponse(message, world) pass elif message["event"] == "startgame": @@ -34,17 +28,6 @@ class TCPEventHandler: CardPlaced(world, message["card"], message["type"], message["owner"], pygame.Vector2(int(message["x"]), int(message["y"]), inputHandler)) pass elif message["event"] == "MoveCard": -<<<<<<< HEAD:Game_Client/Classes/System/Network/EventHandler.py - # CardMoved( - # world, - # message["card"], - # message["type"], - # message["owner"], - # pygame.Vector2(int(message["old_x"]), int(message["old_y"])), - # pygame.Vector2(int(message["new_x"]), int(message["new_y"])), - # inputHandler, world) -======= ->>>>>>> 18dcd6cc42f1f23e221702147a36f650f6aae6ac:Client/Classes/System/Network/EventHandler.py pass elif message["event"] == "RemoveCard": pass diff --git a/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc b/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc index 04c59e8..62eed0f 100644 Binary files a/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc and b/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc differ diff --git a/New_Client/App.py b/New_Client/App.py deleted file mode 100644 index 6b0b928..0000000 --- a/New_Client/App.py +++ /dev/null @@ -1,76 +0,0 @@ -import pygame -from Classes.Engine.EventHandler import EngineEventHandler -from Classes.Engine.InputHandler import InputHandler -from Classes.Engine.Logger import Logger -from Classes.Engine.TCPClient import TCPClient - -from Classes.Engine.Window import Window -from Classes.Game.World import World -from Classes.Game.NetworkEvents.Login import Login - - -class App: - - __running:bool - __FPS:int = 60 - __clock:pygame.time.Clock() - __myFont:pygame.font - __window:Window - __world:World - __inputHandler: InputHandler - __tcpClient: TCPClient - __eventHandler: EngineEventHandler - logger:Logger - - def __init__(self, logger:Logger, width:int=1280, height:int=720, title:str="default title"): - self.logger = logger - - self.logger.info("initializing dependencies") - pygame.init() - pygame.font.init() - self.__myFont = pygame.font.SysFont('Comic Sans MS', 30) - self.__window = Window(width=width, height=height, title=title) - self.__world = World(self.logger, self.__window.getScreen()) - self.__inputHandler = InputHandler() - - # attempt to connect to server - try: - self.logger.info("logging into server") - self.__tcpClient = TCPClient("127.0.0.1", "54322", self.__world, self.__inputHandler) - Login(self.__tcpClient) # will login to the server - except Exception as e: - print(f"failed to login due to error {e}") - print("server connection failed or got refused") - pass - - def startGameLoop(self): - self.__running = True - - while self.__running: - - self.__clock.tick(self.__FPS) - - self.__window.getScreen().fill((0,0,0)) - - # render world - self.__window.drawWorld(self.__world) - - # updates all cards inside the cards Spritegroup at each step the gameloops does - self.__world.getCards().update() - self.__world.getHandCards().update() - - # draw groups - self.__window.drawSpriteGroup(self.__world.getCards()) - self.__window.drawSpriteGroup(self.__world.getHandCards()) - - self.__eventHandler.handleEvent(pygame.event.get()) - - # emits update to the game - pygame.display.update() - - self.__running = False - - # ensures the gameloop stops running and the pygame instance is stopped properly - def onCleanup(self): - self.__running = False - pygame.quit() \ No newline at end of file diff --git a/New_Client/Assets/Cards/0/field.png b/New_Client/Assets/Cards/0/field.png deleted file mode 100644 index 472f0a1..0000000 Binary files a/New_Client/Assets/Cards/0/field.png and /dev/null differ diff --git a/New_Client/Assets/Cards/1/card.json b/New_Client/Assets/Cards/1/card.json deleted file mode 100644 index 3ce8af5..0000000 --- a/New_Client/Assets/Cards/1/card.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "id": 1, - "type":"MonsterCard", - "name": "Test Monster", - "image": "Assets/Cards/1/cards.png", - "description": "can attack other monsters", - "costs": 30, - "defense": 40, - "attacks":[ - { - "id": 1, - "name":"test attack", - "description": "can attack another Monster", - "damage": 80 - }, - { - "id": 2, - "name":"test attack", - "description": "can attack another Monster", - "damage": 80 - } - ] -} diff --git a/New_Client/Assets/Cards/1/card.png b/New_Client/Assets/Cards/1/card.png deleted file mode 100644 index 76bef2d..0000000 Binary files a/New_Client/Assets/Cards/1/card.png and /dev/null differ diff --git a/New_Client/Assets/Cards/2/artworkjson.png b/New_Client/Assets/Cards/2/artworkjson.png deleted file mode 100644 index 9955a0c..0000000 Binary files a/New_Client/Assets/Cards/2/artworkjson.png and /dev/null differ diff --git a/New_Client/Assets/Cards/2/testspellcard.json b/New_Client/Assets/Cards/2/testspellcard.json deleted file mode 100644 index f812019..0000000 --- a/New_Client/Assets/Cards/2/testspellcard.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "testspell", - "type":"EffectCard", - "image":"Assets/Cards/2/artwork.png", - "costs": 30, - "defense": 0, - "description":"this is a test spell card", - "attacks": [] -} \ No newline at end of file diff --git a/New_Client/Assets/Cards/3/artworkjson.png b/New_Client/Assets/Cards/3/artworkjson.png deleted file mode 100644 index 9955a0c..0000000 Binary files a/New_Client/Assets/Cards/3/artworkjson.png and /dev/null differ diff --git a/New_Client/Assets/Cards/3/testtrapcard.json b/New_Client/Assets/Cards/3/testtrapcard.json deleted file mode 100644 index 13ed51a..0000000 --- a/New_Client/Assets/Cards/3/testtrapcard.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "name": "testtrap", - "type":"EffectCard", - "image":"Assets/Cards/3/artwork.png", - "costs": 30, - "defense": 0, - "description":"this is a test trap card", - "attacks": [] -} \ No newline at end of file diff --git a/New_Client/Assets/Cards/Arenas/default.png b/New_Client/Assets/Cards/Arenas/default.png deleted file mode 100644 index ba5da22..0000000 Binary files a/New_Client/Assets/Cards/Arenas/default.png and /dev/null differ diff --git a/New_Client/Classes/Engine/Components/BoardField.py b/New_Client/Classes/Engine/Components/BoardField.py deleted file mode 100644 index 414c084..0000000 --- a/New_Client/Classes/Engine/Components/BoardField.py +++ /dev/null @@ -1,85 +0,0 @@ -import os -import pygame - -class BoardField(pygame.sprite.Sprite): - __fieldID:str - __name:str - __side:str - __type:str - __pos:pygame.Vector2 - __size:tuple - __color:tuple = (255,255,255) - __holdsCard = None - image:pygame.image - rect:pygame.rect - - def __init__(self, name:str, side:str, type:str, pos:pygame.Vector2, imagePath:str, fid:str): - pygame.sprite.Sprite.__init__(self) - self.__name = name - self.__side = side - self.__type = type - self.__pos = pos - self.__holdsCard = None - self.__fieldID = fid - - # Überprüfen des Dateipfads - if not os.path.exists(imagePath): - print("could not find image Location.") - else: - # Wenn der Pfad gültig ist, versuchen Sie, das Bild zu laden - self.image = pygame.image.load(imagePath).convert_alpha() - self.rect = self.image.get_rect() - self.rect.center = self.__pos - - def getName(self) -> str: - return self.__name - - def getSide(self) -> str: - return self.__side - - def getType(self) -> str: - return self.__type - - def getPos(self) -> pygame.Vector2: - return self.__pos - - def getSize(self) -> tuple: - return self.__size - - def getColor(self) -> tuple: - return self.__color - - def getRect(self) -> pygame.Rect: - return self.rect - - def getImage(self) -> pygame.image: - return self.image - - def getHoldingCard(self): - return self.__holdsCard - - def setName(self, name:str) -> str: - self.__name = name - return self.__name - - def setType(self,type:str) -> str: - self.__type = type - return self.__type - - def setPos(self, pos:pygame.Vector2) -> pygame.Vector2: - self.pos = pos - return self.__pos - - def setSize(self, size:tuple) -> tuple: - self.__size = size - return self.__size - - def setColor(self, color:tuple) -> tuple: - self.__color = color - return self.__color - - def setCardHolding(self, card): - self.__holdsCard = card - - def getFieldID(self) -> str: - return self.__fieldID \ No newline at end of file diff --git a/New_Client/Classes/Engine/Components/Label.py b/New_Client/Classes/Engine/Components/Label.py deleted file mode 100644 index ed04c54..0000000 --- a/New_Client/Classes/Engine/Components/Label.py +++ /dev/null @@ -1,47 +0,0 @@ -import pygame - -class Label: - rect:pygame.rect - image:pygame.image - __screen:pygame.surface - __text:str - __pos:pygame.Vector2 - __font:pygame.font - font:pygame.font - __name:str - - def __init__(self, name:str, screen:pygame.surface, text:str, pos:pygame.Vector2, size:float=20, color:str="white"): - self.__font = pygame.font.SysFont("Arial", size) - self.font = pygame.font.SysFont("Arial", size) - self.image = self.font.render(text, 1, color) - _, _, w, h = self.image.get_rect() - self.__pos = pos - self.rect = pygame.Rect(self.__pos.x, self.__pos.y, w, h) - self.__screen = screen - self.__text = text - self.__name = name - - def getText(self) -> str: - return self.__text - - def getFont(self) -> pygame.font: - return self.__font - - def getPos(self) -> pygame.Vector2: - return self.__pos - - def getName(self) -> str: - return self.__name - - def setText(self, newtext:str, color:str="white"): - self.image = self.font.render(newtext, 1, color) - - def setFont(self, font:pygame.font, size:float, color:str="white"): - self.__font = pygame.font.SysFont(font, size) - self.change_text(self.text, color) - - def setPos(self, pos:pygame.Vector2): - self.__pos = pos - - def draw(self): - self.__screen.blit(self.image, (self.rect)) \ No newline at end of file diff --git a/New_Client/Classes/Engine/Components/__pycache__/BoardField.cpython-311.pyc b/New_Client/Classes/Engine/Components/__pycache__/BoardField.cpython-311.pyc deleted file mode 100644 index 68492b2..0000000 Binary files a/New_Client/Classes/Engine/Components/__pycache__/BoardField.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/Components/__pycache__/Label.cpython-311.pyc b/New_Client/Classes/Engine/Components/__pycache__/Label.cpython-311.pyc deleted file mode 100644 index 8a6188b..0000000 Binary files a/New_Client/Classes/Engine/Components/__pycache__/Label.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/EventHandler.py b/New_Client/Classes/Engine/EventHandler.py deleted file mode 100644 index 8cb9a0b..0000000 --- a/New_Client/Classes/Engine/EventHandler.py +++ /dev/null @@ -1,117 +0,0 @@ -import socket - -import pygame -from Classes.Engine.Logger import Logger - -from Classes.Game.NetworkEvents.PlaceCard import CardPlaced -from Classes.Game.NetworkEvents.GameStart import GameStart -from Classes.Game.NetworkEvents.PlaceCard import PlaceCard -from Classes.Engine.InputHandler import InputHandler -from Classes.Game.World import World -from Classes.Game.Player import Player -from Classes.Game.NetworkEvents.Login import LoginResponse - -# network event handler this only handles events coming from the server -class TCPEventHandler: - def __init__(self, socket:socket, inputHandler:InputHandler, world:World): - self.tcp_socket = socket - self.__world = world - self.__inputHandler = inputHandler - - def handleEvents(self, message:dict): - if message["event"] == "loginresponse": - LoginResponse(message) - pass - elif message["event"] == "startgame": - print("gamestart") - GameStart(self.__world, message["hand"], self.__inputHandler, self.__world.getPlayer()) - pass - elif message["event"] == "PlaceCard": - CardPlaced(self.__world, message["card"], message["type"], message["owner"], pygame.Vector2(int(message["x"]), int(message["y"]), self.__inputHandler)) - pass - elif message["event"] == "MoveCard": - CardMoved( - self.__world, - message["card"], - message["type"], - message["owner"], - pygame.Vector2(int(message["old_x"]), int(message["old_y"])), - pygame.Vector2(int(message["new_x"]), int(message["new_y"])), - self.__inputHandler) - pass - elif message["event"] == "RemoveCard": - pass - elif message["event"] == "AttackCard": - pass - elif message["event"] == "AttackPlayer": - pass - elif message["event"] == "ActivateEffectCard": - pass - elif message["event"] == "ActivateMonsterCard": - pass - -# handles engine events this is separate from the network event handler -class EngineEventHandler: - - __inputHandler:InputHandler - __world:World - __logger:Logger - - def __init__(self, inputHandler:InputHandler, world:World, logger:Logger, tcpClient): - self.__logger = logger - self.__logger.info("initializing engine Event Handler") - if inputHandler == None: - raise ValueError("InputHandler was found to be None") - - if world == None: - raise ValueError("world was found to be None") - - if world == tcpClient: - raise ValueError("tcpCLient was found to be None") - - self.__inputHandler = inputHandler - self.__world = world - self.__tcpClient = tcpClient - - # handles the incoming event queue - def handleEvent(self, events): - # TODO: fix bug that stacks cards when dragging them around - self.selectedCard = None - self.mousePos = self.__inputHandler.getMousePos() - - for event in events: - if event.type == pygame.QUIT: - self.onCleanup() - elif self.__inputHandler.getMousePos()[0]: - for card in self.__world.getCards(): - if card.rect.collidepoint(self.mousePos): - self.__logger.info(f"dragging card {card}") - self.selectedCard = card - - # failsafe to prevent NoneType errors - if self.selectedCard != None: - self.__logger.info(f"working with card: {self.selectedCard}") - self.selectedCard.setDragging(True) - elif event.type == pygame.MOUSEBUTTONUP: - if event.button == 1: - if self.selectedCard != None: - for field in self.__world.getBoardFields(): - if field.getRect().collidepoint(self.mousePos): - if field.getSide() == "Player" and field.getType() == self.selectedCard.getType(): - try: - # snap card into the correct field - self.selectedCard.rect.center = field.rect.center - self.selectedCard.setDragging(False) - print(self.selectedCard) - if self.selectedCard == card: - # TODO: adapt this into the new game engine version - PlaceCard(self.__tcpClient, self.selectedCard) # tells te server that the player placed this card - self.selectedCard = None - except Exception as e: - print(f"failed to place card on server due to error: {e}") - - if self.selectedCard != None: - self.selectedCard = None - else: - raise ValueError("selected card in event handler was found empty this should never happen!") - pass diff --git a/New_Client/Classes/Engine/InputHandler.py b/New_Client/Classes/Engine/InputHandler.py deleted file mode 100644 index 8df7dd3..0000000 --- a/New_Client/Classes/Engine/InputHandler.py +++ /dev/null @@ -1,53 +0,0 @@ -import pygame - -from Classes.Engine.Components.BoardField import BoardField - -class InputHandler: - # returns pressed key - @staticmethod - def getPressed(): - return pygame.key.get_pressed() - - # returns pressed key - @staticmethod - def getMousePressed(): - return pygame.mouse.get_pressed() - - # takes in movement inputs and maps them to x and y axis - @staticmethod - def getInputAxis() -> tuple: - xvel = 0 - yvel = 0 - - # construct x and y velocity input axis - if InputHandler.getPressed()[pygame.K_a] or InputHandler.getPressed()[pygame.K_LEFT]: - xvel = -1 - if InputHandler.getPressed()[pygame.K_d] or InputHandler.getPressed()[pygame.K_RIGHT]: - xvel = 1 - if InputHandler.getPressed()[pygame.K_w] or InputHandler.getPressed()[pygame.K_UP]: - yvel = -1 - if InputHandler.getPressed()[pygame.K_s] or InputHandler.getPressed()[pygame.K_DOWN]: - yvel = 1 - - return tuple((xvel, yvel)) - - @staticmethod - def getMousePos() -> pygame.Vector2: - return pygame.Vector2(pygame.mouse.get_pos()) - - # get field under mousbutton - @staticmethod - def getMouseHover(mouse_pos: pygame.Vector2, world_card_width: int, world_card_height: int, board_fields: list) -> BoardField: - x_pos = mouse_pos.x / world_card_width - y_pos = mouse_pos.y / world_card_height - - for field in board_fields: - field_x = field.getPos().x - field_y = field.getPos().y - field_width = world_card_width # Annahme: Jedes Feld hat eine Breite von 1 Einheit - field_height = world_card_height # Annahme: Jedes Feld hat eine Höhe von 1 Einheit - - if field_x <= x_pos < field_x + field_width and field_y <= y_pos < field_y + field_height: - return field - - return None diff --git a/New_Client/Classes/Engine/Logger.py b/New_Client/Classes/Engine/Logger.py deleted file mode 100644 index b548160..0000000 --- a/New_Client/Classes/Engine/Logger.py +++ /dev/null @@ -1,18 +0,0 @@ -import logging - - -class Logger: - def __init__(self, filename): - logging.basicConfig(filename=filename, - filemode='a', - format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s', - datefmt='%H:%M:%S', - level=logging.DEBUG) - - def info(self, message): - print(message) - logging.info(message) - - def error(self, message): - print(message) - logging.error(message) \ No newline at end of file diff --git a/New_Client/Classes/Engine/TCPClient.py b/New_Client/Classes/Engine/TCPClient.py deleted file mode 100644 index a44fbc9..0000000 --- a/New_Client/Classes/Engine/TCPClient.py +++ /dev/null @@ -1,52 +0,0 @@ -import json -import socket -import threading - -from Classes.Engine.EventHandler import TCPEventHandler -from Classes.Game.World import World -from Classes.Engine.InputHandler import InputHandler - -class TCPClient: - - __running:bool - - def __init__(self, addr: str, port: str, world:World, inputHandler:InputHandler): - self.addr = addr - self.port = int(port) - self.tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.world = world - self.inputHandler = inputHandler - self.eventHandler = TCPEventHandler(self.tcpSocket, self.inputHandler, self.world) - - try: - self.tcpSocket.connect((self.addr, self.port)) - self.__running = True - - except Exception as e: - print(f"Error connecting TCP socket: {e}") - self.__running = False - - # Starten des Listener-Threads - self.listen() - - def send(self, message: dict): - try: - self.tcpSocket.sendall(json.dumps(message).encode()) - except Exception as e: - print(f"Error sending TCP data: {e}") - - def receive(self): - while True: - try: - data = self.tcpSocket.recv(1024) - if data: - decoded_data = json.loads(data.decode()) - self.eventHandler.handleEvents(decoded_data) - except Exception as e: - print(f"Error receiving TCP data: {e}") - break - - def listen(self): - self.tcpThread = threading.Thread(target=self.receive) - self.tcpThread.daemon = True - self.tcpThread.start() \ No newline at end of file diff --git a/New_Client/Classes/Engine/Utils/Path.py b/New_Client/Classes/Engine/Utils/Path.py deleted file mode 100644 index 9b01eb9..0000000 --- a/New_Client/Classes/Engine/Utils/Path.py +++ /dev/null @@ -1,6 +0,0 @@ -import os - - -class PathUtil: - def getAbsolutePathTo(notAbsolutPath:str) -> str: - return os.path.abspath("Client/" + notAbsolutPath) \ No newline at end of file diff --git a/New_Client/Classes/Engine/Utils/StringUtils.py b/New_Client/Classes/Engine/Utils/StringUtils.py deleted file mode 100644 index e4d02a1..0000000 --- a/New_Client/Classes/Engine/Utils/StringUtils.py +++ /dev/null @@ -1,11 +0,0 @@ -import random -import string - - -class StringUtils: - def get_random_string(length) -> str: - # choose from all lowercase letter - letters = string.ascii_lowercase - result_str = ''.join(random.choice(letters) for i in range(length)) - print("Random string of length", length, "is:", result_str) - return result_str diff --git a/New_Client/Classes/Engine/Utils/__pycache__/Path.cpython-311.pyc b/New_Client/Classes/Engine/Utils/__pycache__/Path.cpython-311.pyc deleted file mode 100644 index 36eabe2..0000000 Binary files a/New_Client/Classes/Engine/Utils/__pycache__/Path.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc b/New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc deleted file mode 100644 index 4052b1a..0000000 Binary files a/New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/Window.py b/New_Client/Classes/Engine/Window.py deleted file mode 100644 index 461db85..0000000 --- a/New_Client/Classes/Engine/Window.py +++ /dev/null @@ -1,54 +0,0 @@ -import pygame -from pygame.locals import * - -from Classes.Engine.Components.BoardField import BoardField -from Classes.Game.World import World - -class Window: - __width:int = 800 - __height:int = 600 # takes 80% of width which tranlates to 640 - __title:str = "python game engine" - __screen:pygame.Surface - __clock:pygame.time.Clock - - def __init__(self, width:int=800, height:int=600, title:str="python game engine"): - self.__width = width - self.__height = height - self.__title = title - - pygame.init() - - self.__screen = pygame.display.set_mode((self.__width, self.__height)) - self.__screen.fill((236, 240, 241)) # Hier liegt der Fehler, es muss eine Tuple übergeben werden - pygame.display.set_caption(self.__title) - - self.__clock = pygame.time.Clock() - self.__framerate = 60 # Framerate auf 60 FPS festlegen - - # set framerate (where the fuck is it?) - def Render(self): - # dear future me figure out what past me did! - pass - - def setWidth(self, width:int): - self.__width = width - - def setHeight(self, height:int): - self.__height = height - - def setTitle(self, title:str): - self.__title = title - - def getScreen(self) -> pygame.surface: - return self.__screen - - # draws a passed sprite group to the screen - def drawSpriteGroup(self, group:pygame.sprite.Group): - group.draw(self.__screen) - - # draws a given group of rectangles onto the screen - def drawWorld(self, world:World): - for field in world.getBoardFields(): - pygame.draw.rect(self.__screen, field.getColor(), field.getRect()) - for label in world.getLabels(): - label.draw() \ No newline at end of file diff --git a/New_Client/Classes/Engine/__pycache__/EventHandler.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/EventHandler.cpython-311.pyc deleted file mode 100644 index f41445c..0000000 Binary files a/New_Client/Classes/Engine/__pycache__/EventHandler.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc deleted file mode 100644 index 3df4b9d..0000000 Binary files a/New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc deleted file mode 100644 index 0dec236..0000000 Binary files a/New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc deleted file mode 100644 index cd3e928..0000000 Binary files a/New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Engine/__pycache__/Window.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/Window.cpython-311.pyc deleted file mode 100644 index 3824f8a..0000000 Binary files a/New_Client/Classes/Engine/__pycache__/Window.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Game/Cards/Card.py b/New_Client/Classes/Game/Cards/Card.py deleted file mode 100644 index cd11413..0000000 --- a/New_Client/Classes/Game/Cards/Card.py +++ /dev/null @@ -1,98 +0,0 @@ -import json -import pygame - -from Classes.Engine.InputHandler import InputHandler -from Classes.Game.Player import Player - -class Card(pygame.sprite.Sprite): - __name:str - __id:int - __description:str - __attacks = [] - __type:str = "MonsterCard" - __pos:pygame.Vector2 - __dragging:bool = False - __offset:pygame.Vector2 = pygame.Vector2(0,0) - __inputHandler: InputHandler - __owner:Player - __state:str - image:pygame.image - rect:pygame.rect - - def __init__(self, pos: pygame.Vector2, assetDir: str, inputHandler: InputHandler, owner: Player): - if assetDir == "": - raise ValueError("Card: imagePath cannot be empty") - - pygame.sprite.Sprite.__init__(self) - - with open(assetDir + "/card.json", 'r') as file: - data = json.load(file) - - self.__owner = owner - self.__id = int(data["id"]) - self.__pos = pos - self.__name = data["name"] - self.__type = data.get("type") - self.image = pygame.image.load(assetDir + "/card.png").convert_alpha() - self.rect = self.image.get_rect() - self.__inputHandler = inputHandler - self.rect.center = self.__pos - self.__description = data["description"] - self.original_size = self.image.get_size() - self.original_position = self.rect.center - self.__state = "onHand" - - self.__attacks = [] - for attack in data.get("attacks", []): - self.__attacks.append(attack) - - def update(self): - if self.__dragging: - mouse_pos = self.__inputHandler.getMousePos() - self.__pos = mouse_pos - self.rect.center = self.__pos - - def attacks(self): - return self.__attacks - - def getName(self) -> str: - return self.__name - - def getCardSprite(self) -> pygame.image: - return self.__cardSprite - - def getDescription(self): - return self.__description - - def getDragging(self): - return self.__dragging - - def getOffset(self): - return self.__offset - - def getPos(self): - return self.__pos - - def getType(self): - return self.__type - - def getID(self) -> int: - return self.__id - - def getOwner(self) -> Player: - return self.__owner - - def getState(self) -> str: - return self.__state - - def setDragging(self, dragging:bool): - self.__dragging = dragging - - def setOffset(self, offset:pygame.Vector2): - self.__offset = offset - - def setPos(self, pos:pygame.Vector2): - self.__pos = pos - - def setState(self, state:str): - self.__state = state \ No newline at end of file diff --git a/New_Client/Classes/Game/Cards/MonsterCard.py b/New_Client/Classes/Game/Cards/MonsterCard.py deleted file mode 100644 index d73c45c..0000000 --- a/New_Client/Classes/Game/Cards/MonsterCard.py +++ /dev/null @@ -1,88 +0,0 @@ -import json -import pygame - -from Classes.Engine.InputHandler import InputHandler -from Classes.Game.Player import Player - -class MonsterCard(pygame.sprite.Sprite): - __name:str - __id:int - __description:str - __attacks = [] - __type:str = "Monster" - __pos:pygame.Vector2 - __dragging:bool = False - __offset:pygame.Vector2 = pygame.Vector2(0,0) - __inputHandler: InputHandler - __owner:Player - image:pygame.image - rect:pygame.rect - - def __init__(self, pos:pygame.Vector2, assetDir:str, inputHandler:InputHandler, owner:Player): - if assetDir == "": - return ValueError.add_note("Card: imagePath cannot be empty") - - pygame.sprite.Sprite.__init__(self) - - data = json.load(open(assetDir + "/card.json")) - self.__owner = owner - self.__id = int(data["id"]) - self.__pos = pos - self.__name = data["name"] - self.image = pygame.image.load(assetDir + "/card.png").convert_alpha() - self.rect = self.image.get_rect() - self.dragging = False - self.offset = pygame.Vector2(0, 0) # Offset zwischen der Karte und der Mausposition - self.__inputHandler = inputHandler - self.rect.center = self.__pos - self.__description = data["description"] - self.original_size = self.image.get_size() - self.original_position = self.rect.center - - for attack in data["attacks"]: - self.__attacks.append(attack) - - def update(self): - if self.__dragging: - mouse_pos = self.__inputHandler.getMousePos() - self.__pos = mouse_pos - self.rect.center = self.__pos - - def attacks(self): - return self.__attacks - - def getName(self) -> str: - return self.__name - - def getCardSprite(self) -> pygame.image: - return self.__cardSprite - - def getDescription(self): - return self.__description - - def getDragging(self): - return self.__dragging - - def getOffset(self): - return self.__offset - - def getPos(self): - return self.__pos - - def getType(self): - return self.__type - - def getID(self) -> int: - return self.__id - - def getOwner(self) -> Player: - return self.__owner - - def setDragging(self, dragging:bool): - self.__dragging = dragging - - def setOffset(self, offset:pygame.Vector2): - self.__offset = offset - - def setPos(self, pos:pygame.Vector2): - self.__pos = pos \ No newline at end of file diff --git a/New_Client/Classes/Game/Cards/SpellCard.py b/New_Client/Classes/Game/Cards/SpellCard.py deleted file mode 100644 index 805ddb5..0000000 --- a/New_Client/Classes/Game/Cards/SpellCard.py +++ /dev/null @@ -1,72 +0,0 @@ -import json -from typing import Any - -import pygame - -from Classes.Engine.InputHandler import InputHandler - -class SpellCard(pygame.sprite.Sprite): - __name:str - __description:str - __pos:pygame.Vector2 - __dragging:bool = False - __offset:pygame.Vector2 = pygame.Vector2(0,0) - __inputHandler: InputHandler - __type:str = "Effect" - image:pygame.image - rect:pygame.rect - - def __init__(self, pos:pygame.Vector2, assetDir:str, inputHandler:InputHandler): - if assetDir == "": - return ValueError.add_note("Card: imagePath cannot be empty") - - pygame.sprite.Sprite.__init__(self) - - data = json.load(open(assetDir + "/card.json")) - self.__pos = pos - self.__name = data["name"] - self.image = pygame.image.load(assetDir + "/card.png").convert_alpha() - self.rect = self.image.get_rect() - self.dragging = False - self.offset = pygame.Vector2(0, 0) # Offset zwischen der Karte und der Mausposition - self.__inputHandler = inputHandler - self.rect.center = self.__pos - self.__description = data["description"] - self.original_size = self.image.get_size() - self.original_position = self.rect.center - - def update(self): - if self.getDragging(): - mouse_pos = self.__inputHandler.getMousePos() - self.__pos = mouse_pos - self.rect.center = self.__pos - - def getName(self) -> str: - return self.__name - - def getCardSprite(self) -> pygame.image: - return self.__cardSprite - - def getDescription(self): - return self.__description - - def getDragging(self): - return self.__dragging - - def getOffset(self): - return self.__offset - - def getPos(self): - return self.__pos - - def getType(self): - return self.__type - - def setDragging(self, dragging:bool): - self.__dragging = dragging - - def setOffset(self, offset:pygame.Vector2): - self.__offset = offset - - def setPos(self, pos:pygame.Vector2): - self.__pos = pos \ No newline at end of file diff --git a/New_Client/Classes/Game/Cards/TrapCard.py b/New_Client/Classes/Game/Cards/TrapCard.py deleted file mode 100644 index 0faba3d..0000000 --- a/New_Client/Classes/Game/Cards/TrapCard.py +++ /dev/null @@ -1,72 +0,0 @@ -import json -from typing import Any - -import pygame - -from Classes.Engine.InputHandler import InputHandler - -class TrapCard(pygame.sprite.Sprite): - __name:str - __description:str - __pos:pygame.Vector2 - __dragging:bool = False - __offset:pygame.Vector2 = pygame.Vector2(0,0) - __inputHandler: InputHandler - __type:str = "Effect" - image:pygame.image - rect:pygame.rect - - def __init__(self, pos:pygame.Vector2, assetDir:str, inputHandler:InputHandler): - if assetDir == "": - return ValueError.add_note("Card: imagePath cannot be empty") - - pygame.sprite.Sprite.__init__(self) - - data = json.load(open(assetDir + "/card.json")) - self.__pos = pos - self.__name = data["name"] - self.__inputHandler = inputHandler - self.__description = data["description"] - self.original_size = self.image.get_size() - self.original_position = self.rect.center - self.offset = pygame.Vector2(0, 0) # Offset zwischen der Karte und der Mausposition - self.rect = self.image.get_rect() - self.rect.center = self.__pos - self.image = pygame.image.load(assetDir + "/card.png").convert_alpha() - self.__dragging = False - - def update(self): - if self.getDragging(): - mouse_pos = self.__inputHandler.getMousePos() - self.__pos = mouse_pos - self.rect.center = self.__pos - - def getName(self) -> str: - return self.__name - - def getCardSprite(self) -> pygame.image: - return self.__cardSprite - - def getDescription(self): - return self.__description - - def getDragging(self): - return self.__dragging - - def getOffset(self): - return self.__offset - - def getPos(self): - return self.__pos - - def getType(self): - return self.__type - - def setDragging(self, dragging:bool): - self.__dragging = dragging - - def setOffset(self, offset:pygame.Vector2): - self.__offset = offset - - def setPos(self, pos:pygame.Vector2): - self.__pos = pos \ No newline at end of file diff --git a/New_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc b/New_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc deleted file mode 100644 index db2cd58..0000000 Binary files a/New_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc b/New_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc deleted file mode 100644 index 3d1c166..0000000 Binary files a/New_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc b/New_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc deleted file mode 100644 index ad3c56b..0000000 Binary files a/New_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc b/New_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc deleted file mode 100644 index e01fe77..0000000 Binary files a/New_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc and /dev/null differ diff --git a/New_Client/Classes/Game/NetworkEvents/GameStart.py b/New_Client/Classes/Game/NetworkEvents/GameStart.py deleted file mode 100644 index be668f3..0000000 --- a/New_Client/Classes/Game/NetworkEvents/GameStart.py +++ /dev/null @@ -1,16 +0,0 @@ -import pygame -from Classes.Game.World import World -from Classes.Game.Cards.Card import Card -from Classes.Game.Player import Player -from Classes.Engine.InputHandler import InputHandler - - -# send from the server to tell the player the game starts -# gives the client its and the opponents stats (not cards!!) -def GameStart(world: World, handCards:list, inputHandler:InputHandler, opponent:Player): - index:int = 0 - world.setEnemy(opponent) - - for card in handCards: - world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), f"Assets/Cards/{card}/", inputHandler, world.getPlayer())) - \ No newline at end of file diff --git a/New_Client/Classes/Game/NetworkEvents/Login.py b/New_Client/Classes/Game/NetworkEvents/Login.py deleted file mode 100644 index 0a5717a..0000000 --- a/New_Client/Classes/Game/NetworkEvents/Login.py +++ /dev/null @@ -1,23 +0,0 @@ -import json -import pygame -from Classes.Game.World import World -from Classes.Game.Player import Player - - -# event the client sends to let the server know it logged in -def Login(tcpClient): - payload = { - "event":"login", - "username": "player", - "deck": [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1] - } - - tcpClient.send(payload) - -# server response for login event -def LoginResponse(message:dict, world:World): - # checks if the response on the login request is successfull - if message["status"] != "success": - print("login failed") - else: - world.setPlayer(Player(0,0, message["username"], message["id"])) diff --git a/New_Client/Classes/Game/NetworkEvents/PlaceCard.py b/New_Client/Classes/Game/NetworkEvents/PlaceCard.py deleted file mode 100644 index f257def..0000000 --- a/New_Client/Classes/Game/NetworkEvents/PlaceCard.py +++ /dev/null @@ -1,37 +0,0 @@ -import pygame -from Classes.Game.World import World -from Classes.Engine.InputHandler import InputHandler - -# the event the client sends to the server when it places a card -def PlaceCard(tcpClient, card, id): - # todo: send card information to the server - # todo: required info is: - # - position - # - field type (used for validating what field the card is played in will be compared on server side) - # - card id (server will do the rest to fetch card info) - payload = { - "event":"placecard", - "card": card.getID(), - "type": card.getType(), - "user": id, - "x": card.getPos().x, - "y": card.getPos().y, - } - - tcpClient.send(payload) - -# the event send from the server to display a card on the field -def CardPlaced(world:World, card:int, type:str, owner:str, pos:pygame.Vector2, inputHandler:InputHandler): - if type == "MonsterCard": - world.spawnMonsterCard(f"Assets/Cards/{card}/", pos, inputHandler, owner) - pass - elif type == "SpellCard": - world.spawnSpellCard(f"Assets/Cards/{card}/", pos, inputHandler, owner) - pass - elif type == "TrapCard": - world.spawnTrapCard(f"Assets/Cards/{card}/", pos, inputHandler, owner) - pass - pass - -def MovedCard(world:World, card:int, type:str, owner:str, oldPos:pygame.Vector2, newPos:pygame.Vector2, inputHandler:InputHandler): - pass \ No newline at end of file diff --git a/New_Client/Classes/Game/Player.py b/New_Client/Classes/Game/Player.py deleted file mode 100644 index bcc15d8..0000000 --- a/New_Client/Classes/Game/Player.py +++ /dev/null @@ -1,44 +0,0 @@ -import pygame - -class Player: - __id:int - __hp:int - __mana:int - __name:str - __handCards:pygame.sprite.Group - - def __init__(self, hp:int, mana:int, name:str, id:int): - self.__hp = hp - self.__mana = mana - self.__name = name - self.__id = id - - def setID(self, id:int): - self.__id = id - - def getID(self) -> int: - return self.__id - - def getName(self) -> str: - return self.__name - - def getHP(self) -> int: - return self.__hp - - def getMana(self) -> int: - return self.__mana - - def adjustHP(self, hp:int) -> int: - self.__hp = self.__hp + hp - - def getHand(self) -> pygame.sprite.Group: - return self.__handCards - - def AddToHand(self, card) -> pygame.sprite.Group: - self.__handCards.add(card) - return self.__handCards - - def removeFromHand(self, pos:int) -> pygame.sprite.Group: - self.__handCards.remove(pos) - return self.__handCards - diff --git a/New_Client/Classes/Game/World.py b/New_Client/Classes/Game/World.py deleted file mode 100644 index e92c06d..0000000 --- a/New_Client/Classes/Game/World.py +++ /dev/null @@ -1,116 +0,0 @@ -import pygame -from Classes.Engine.Logger import Logger -from Classes.Engine.Components.BoardField import BoardField -from Classes.Engine.Components.Label import Label -from Classes.Game.Cards.MonsterCard import MonsterCard -from Classes.Game.Cards.SpellCard import SpellCard -from Classes.Game.Cards.TrapCard import TrapCard -from Classes.Engine.InputHandler import InputHandler -from Classes.Game.Player import Player -from Classes.Game.Cards.Card import Card -from Classes.Engine.Utils.Path import PathUtil - -class World(): - __boardFields:list - __player:Player - __enemy:Player - __labels:list - __cards:pygame.sprite.Group() - __PlayerHandCards:pygame.sprite.Group() - __screen:pygame.surface - __cardWidth:int = 150 - __cardHeight:int = 200 - __cardOffset:int = 400 - __logger:Logger - - def __init__(self, logger:Logger, screen:pygame.surface, cardWidth:int=200, cardHeight:int=250, cardOffset:int=400): - self.__logger = logger - - self.__logger.info("initializing world") - self.__boardFields = [] - self.__labels = [] - self.__cards = pygame.sprite.Group() - self.__PlayerHandCards = pygame.sprite.Group() - self.__screen = screen - self.__cardWidth = cardWidth - self.__cardHeight = cardHeight - self.__cardOffset = cardOffset - self.__player = None - self.__enemy = None - self.buildGameWorld() - - def buildGameWorld(self): - # construct elements around the player field - self.__logger.info("building game world") - - # presets the y position later passed down to the vector2 - eRow1Height = 85 - eRow2Height = (self.__cardHeight + 45) - pRow1Height = ((2 * self.__cardHeight) + 75) - pRow2Height = ((2 * self.__cardHeight) + self.__cardHeight + 30) - - self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", pygame.Vector2(15, 75))) - self.__labels.append(Label("EnemyName", self.__screen, "Enemy", pygame.Vector2(15, 45))) - self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", pygame.Vector2((self.__cardOffset + ((self.__cardWidth + 10) * 0)), eRow1Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-deck")) - self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", pygame.Vector2((self.__cardOffset + ((self.__cardWidth + 10) * 0)), eRow2Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-grave")) - - self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pygame.Vector2(20, pRow2Height + 225))) - self.__labels.append(Label("PlayerName", self.__screen, "Player", pygame.Vector2(20, pRow2Height + 195))) - self.__labels.append(Label("Player Mana", self.__screen, "0", pygame.Vector2(20, pRow2Height + 255))) - self.__boardFields.append(BoardField("PlayerDeck", "Player", "Deck", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow2Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "P-deck")) - self.__boardFields.append(BoardField("PlayerGraveyard", "Player", "Grave", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow1Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "p-grave")) - - # handle field creation - for i in range(5): - self.__boardFields.append(BoardField("PlayerMonsterField-"+str(i), "Player", "Monster", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow1Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "pm"+str(id))) - self.__boardFields.append(BoardField("PlayerEffectField-"+str(i), "Player", "Effect", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow2Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "pe"+str(id))) - self.__boardFields.append(BoardField("EnemyMonsterField-"+str(i), "Enemy", "Monster", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1)), eRow1Height)), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "em"+str(id))) - self.__boardFields.append(BoardField("EnemySpellTrapField-"+str(i), "Enemy", "Effect", pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1))), eRow2Height), PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "ee"+str(id))) - - def getBoardFields(self) -> list: - return self.__boardFields - - def getLabels(self) -> list: - return self.__labels - - def getCardWidth(self) -> int: - return self.__cardWidth - - def getCardHeight(self) -> int: - return self.__cardHeight - - def getCards(self) -> pygame.sprite.Group: - return self.__cards - - def getHandCards(self) -> pygame.sprite.Group: - return self.__PlayerHandCards - - def getPlayer(self) -> Player: - return self.__player - - def getEnemy(self) -> Player: - return self.__enemy - - def setPlayer(self, player:Player): - for label in self.__labels: - if label.getName() == "PlayerName": - label.setText(player.getName()) - self.__player = player - - def setEnemy(self, player:Player): - for label in self.__labels: - if label.getName() == "EnemyName": - label.setText(player.getName()) - self.__enemy = player - - def spawnCard(self, asset:str, pos:pygame.Vector2, inputHandler:InputHandler, owner:Player) -> Card: - card = Card(pos, asset, inputHandler, owner) - self.__cards.add(card) - return card - - def spawnCards(self, cards:pygame.sprite.Group): - for card in cards: - self.__cards.add(card) - - def AddToPlayerHand(self, Card:Card): - self.__PlayerHandCards.add(Card) \ No newline at end of file diff --git a/New_Client/__pycache__/App.cpython-311.pyc b/New_Client/__pycache__/App.cpython-311.pyc deleted file mode 100644 index b4f4b15..0000000 Binary files a/New_Client/__pycache__/App.cpython-311.pyc and /dev/null differ diff --git a/New_Client/log/aruudvef.log b/New_Client/log/aruudvef.log deleted file mode 100644 index 6d420c6..0000000 --- a/New_Client/log/aruudvef.log +++ /dev/null @@ -1,6 +0,0 @@ -18:31:53,299 root INFO starting game engine -18:31:53,300 root INFO initializing dependencies -18:31:53,543 root INFO initializing world -18:31:53,545 root INFO building game world -18:31:53,562 root INFO initializing engine Event Handler -18:31:53,562 root INFO attempting to login to server diff --git a/New_Client/log/azkihdia.log b/New_Client/log/azkihdia.log deleted file mode 100644 index 3e6a943..0000000 --- a/New_Client/log/azkihdia.log +++ /dev/null @@ -1,6 +0,0 @@ -18:35:17,398 root INFO starting game engine -18:35:17,399 root INFO initializing dependencies -18:35:17,647 root INFO initializing world -18:35:17,647 root INFO building game world -18:35:17,664 root INFO initializing engine Event Handler -18:35:17,664 root INFO attempting to login to server diff --git a/New_Client/log/cssmtaso.log b/New_Client/log/cssmtaso.log deleted file mode 100644 index 507a8b3..0000000 --- a/New_Client/log/cssmtaso.log +++ /dev/null @@ -1,6 +0,0 @@ -18:28:36,740 root INFO starting game engine -18:28:36,740 root INFO initializing dependencies -18:28:36,976 root INFO initializing world -18:28:36,976 root INFO building game world -18:28:36,995 root INFO initializing engine Event Handler -18:28:36,995 root INFO attempting to login to server diff --git a/New_Client/log/dypjnvwx.log b/New_Client/log/dypjnvwx.log deleted file mode 100644 index 9c3683e..0000000 --- a/New_Client/log/dypjnvwx.log +++ /dev/null @@ -1,6 +0,0 @@ -18:24:39,228 root INFO starting game engine -18:24:39,229 root INFO initializing dependencies -18:24:39,473 root INFO initializing world -18:24:39,473 root INFO building game world -18:24:39,489 root INFO initializing engine Event Handler -18:24:39,490 root INFO attempting to login to server diff --git a/New_Client/log/ecnwzwpv.log b/New_Client/log/ecnwzwpv.log deleted file mode 100644 index 3f8fd1c..0000000 --- a/New_Client/log/ecnwzwpv.log +++ /dev/null @@ -1,6 +0,0 @@ -18:24:07,392 root INFO starting game engine -18:24:07,392 root INFO initializing dependencies -18:24:07,636 root INFO initializing world -18:24:07,636 root INFO building game world -18:24:07,653 root INFO initializing engine Event Handler -18:24:07,653 root INFO attempting to login to server diff --git a/New_Client/log/ezuxqfek.log b/New_Client/log/ezuxqfek.log deleted file mode 100644 index a669868..0000000 --- a/New_Client/log/ezuxqfek.log +++ /dev/null @@ -1,6 +0,0 @@ -18:34:47,406 root INFO starting game engine -18:34:47,406 root INFO initializing dependencies -18:34:47,651 root INFO initializing world -18:34:47,651 root INFO building game world -18:34:47,668 root INFO initializing engine Event Handler -18:34:47,669 root INFO attempting to login to server diff --git a/New_Client/log/hpyfylsj.log b/New_Client/log/hpyfylsj.log deleted file mode 100644 index 3890461..0000000 --- a/New_Client/log/hpyfylsj.log +++ /dev/null @@ -1,6 +0,0 @@ -18:15:16,227 root INFO starting game engine -18:15:16,227 root INFO initializing dependencies -18:15:16,469 root INFO initializing world -18:15:16,469 root INFO building game world -18:15:16,486 root INFO initializing engine Event Handler -18:15:16,487 root INFO attempting to login to server diff --git a/New_Client/log/jqqeltiy.log b/New_Client/log/jqqeltiy.log deleted file mode 100644 index abcb170..0000000 --- a/New_Client/log/jqqeltiy.log +++ /dev/null @@ -1,6 +0,0 @@ -18:26:41,981 root INFO starting game engine -18:26:41,982 root INFO initializing dependencies -18:26:42,202 root INFO initializing world -18:26:42,202 root INFO building game world -18:26:44,431 root INFO initializing engine Event Handler -18:26:44,431 root INFO attempting to login to server diff --git a/New_Client/log/mhtlvsqm.log b/New_Client/log/mhtlvsqm.log deleted file mode 100644 index 5e1a630..0000000 --- a/New_Client/log/mhtlvsqm.log +++ /dev/null @@ -1,6 +0,0 @@ -18:03:55,272 root INFO starting game engine -18:03:55,273 root INFO initializing dependencies -18:03:55,522 root INFO initializing world -18:03:55,524 root INFO building game world -18:03:55,541 root INFO initializing engine Event Handler -18:03:55,541 root INFO attempting to login to server diff --git a/New_Client/log/pbwegfvw.log b/New_Client/log/pbwegfvw.log deleted file mode 100644 index 85b8c96..0000000 --- a/New_Client/log/pbwegfvw.log +++ /dev/null @@ -1,4 +0,0 @@ -18:28:05,511 root INFO starting game engine -18:28:05,512 root INFO initializing dependencies -18:28:05,733 root INFO initializing world -18:28:05,735 root INFO building game world diff --git a/New_Client/log/qqebhbex.log b/New_Client/log/qqebhbex.log deleted file mode 100644 index 150872d..0000000 --- a/New_Client/log/qqebhbex.log +++ /dev/null @@ -1,6 +0,0 @@ -18:12:06,302 root INFO starting game engine -18:12:06,302 root INFO initializing dependencies -18:12:06,552 root INFO initializing world -18:12:06,553 root INFO building game world -18:12:06,570 root INFO initializing engine Event Handler -18:12:06,571 root INFO attempting to login to server diff --git a/New_Client/log/rnwforll.log b/New_Client/log/rnwforll.log deleted file mode 100644 index 17f202d..0000000 --- a/New_Client/log/rnwforll.log +++ /dev/null @@ -1,6 +0,0 @@ -18:26:02,924 root INFO starting game engine -18:26:02,925 root INFO initializing dependencies -18:26:03,152 root INFO initializing world -18:26:03,153 root INFO building game world -18:26:15,219 root INFO initializing engine Event Handler -18:26:15,219 root INFO attempting to login to server diff --git a/New_Client/log/rrffvbhc.log b/New_Client/log/rrffvbhc.log deleted file mode 100644 index 8877eee..0000000 --- a/New_Client/log/rrffvbhc.log +++ /dev/null @@ -1,6 +0,0 @@ -18:31:12,770 root INFO starting game engine -18:31:12,771 root INFO initializing dependencies -18:31:13,6 root INFO initializing world -18:31:13,6 root INFO building game world -18:31:13,23 root INFO initializing engine Event Handler -18:31:13,23 root INFO attempting to login to server diff --git a/New_Client/log/snqncicq.log b/New_Client/log/snqncicq.log deleted file mode 100644 index df03f86..0000000 --- a/New_Client/log/snqncicq.log +++ /dev/null @@ -1,6 +0,0 @@ -18:32:14,21 root INFO starting game engine -18:32:14,22 root INFO initializing dependencies -18:32:14,268 root INFO initializing world -18:32:14,268 root INFO building game world -18:32:14,285 root INFO initializing engine Event Handler -18:32:14,285 root INFO attempting to login to server diff --git a/New_Client/log/sstwdlli.log b/New_Client/log/sstwdlli.log deleted file mode 100644 index 3142c48..0000000 --- a/New_Client/log/sstwdlli.log +++ /dev/null @@ -1,6 +0,0 @@ -18:17:42,689 root INFO starting game engine -18:17:42,689 root INFO initializing dependencies -18:17:42,927 root INFO initializing world -18:17:42,928 root INFO building game world -18:17:42,946 root INFO initializing engine Event Handler -18:17:42,946 root INFO attempting to login to server diff --git a/New_Client/log/vzybrxrc.log b/New_Client/log/vzybrxrc.log deleted file mode 100644 index 52e5aed..0000000 --- a/New_Client/log/vzybrxrc.log +++ /dev/null @@ -1,6 +0,0 @@ -18:25:06,487 root INFO starting game engine -18:25:06,487 root INFO initializing dependencies -18:25:06,730 root INFO initializing world -18:25:06,730 root INFO building game world -18:25:06,748 root INFO initializing engine Event Handler -18:25:06,748 root INFO attempting to login to server diff --git a/New_Client/log/wqfhotaq.log b/New_Client/log/wqfhotaq.log deleted file mode 100644 index 825538c..0000000 --- a/New_Client/log/wqfhotaq.log +++ /dev/null @@ -1,6 +0,0 @@ -18:35:28,383 root INFO starting game engine -18:35:28,383 root INFO initializing dependencies -18:35:28,619 root INFO initializing world -18:35:28,620 root INFO building game world -18:35:28,637 root INFO initializing engine Event Handler -18:35:28,638 root INFO attempting to login to server diff --git a/New_Client/log/xqetosuq.log b/New_Client/log/xqetosuq.log deleted file mode 100644 index 9822c82..0000000 --- a/New_Client/log/xqetosuq.log +++ /dev/null @@ -1,6 +0,0 @@ -18:28:22,876 root INFO starting game engine -18:28:22,876 root INFO initializing dependencies -18:28:23,117 root INFO initializing world -18:28:23,117 root INFO building game world -18:28:23,134 root INFO initializing engine Event Handler -18:28:23,135 root INFO attempting to login to server diff --git a/New_Client/log/xwrmortx.log b/New_Client/log/xwrmortx.log deleted file mode 100644 index 76c0ab5..0000000 --- a/New_Client/log/xwrmortx.log +++ /dev/null @@ -1,6 +0,0 @@ -18:14:40,491 root INFO starting game engine -18:14:40,492 root INFO initializing dependencies -18:14:40,714 root INFO initializing world -18:14:40,715 root INFO building game world -18:14:41,59 root INFO initializing engine Event Handler -18:14:41,168 root INFO attempting to login to server diff --git a/New_Client/log/xxfpqmla.log b/New_Client/log/xxfpqmla.log deleted file mode 100644 index 3a73195..0000000 --- a/New_Client/log/xxfpqmla.log +++ /dev/null @@ -1,6 +0,0 @@ -18:17:28,90 root INFO starting game engine -18:17:28,90 root INFO initializing dependencies -18:17:28,335 root INFO initializing world -18:17:28,336 root INFO building game world -18:17:28,352 root INFO initializing engine Event Handler -18:17:28,352 root INFO attempting to login to server diff --git a/New_Client/log/ysnrngup.log b/New_Client/log/ysnrngup.log deleted file mode 100644 index a45e4ca..0000000 --- a/New_Client/log/ysnrngup.log +++ /dev/null @@ -1,4 +0,0 @@ -18:30:56,421 root INFO starting game engine -18:30:56,421 root INFO initializing dependencies -18:30:56,654 root INFO initializing world -18:30:56,654 root INFO building game world diff --git a/New_Client/log/zlnfjkpf.log b/New_Client/log/zlnfjkpf.log deleted file mode 100644 index 0086ccb..0000000 --- a/New_Client/log/zlnfjkpf.log +++ /dev/null @@ -1,6 +0,0 @@ -18:14:31,193 root INFO starting game engine -18:14:31,193 root INFO initializing dependencies -18:14:31,416 root INFO initializing world -18:14:31,416 root INFO building game world -18:14:36,438 root INFO initializing engine Event Handler -18:14:36,864 root INFO attempting to login to server diff --git a/New_Client/log/zoukqhzj.log b/New_Client/log/zoukqhzj.log deleted file mode 100644 index 4ead003..0000000 --- a/New_Client/log/zoukqhzj.log +++ /dev/null @@ -1,6 +0,0 @@ -18:34:33,865 root INFO starting game engine -18:34:33,865 root INFO initializing dependencies -18:34:34,103 root INFO initializing world -18:34:34,104 root INFO building game world -18:34:34,121 root INFO initializing engine Event Handler -18:34:34,121 root INFO attempting to login to server diff --git a/New_Client/log/zpvgppfk.log b/New_Client/log/zpvgppfk.log deleted file mode 100644 index 11d7f19..0000000 --- a/New_Client/log/zpvgppfk.log +++ /dev/null @@ -1,5 +0,0 @@ -18:37:44,978 root INFO starting game engine -18:37:44,978 root INFO initializing dependencies -18:37:45,225 root INFO initializing world -18:37:45,225 root INFO building game world -18:37:45,242 root INFO logging into server diff --git a/New_Client/main.py b/New_Client/main.py deleted file mode 100644 index ec7ad0e..0000000 --- a/New_Client/main.py +++ /dev/null @@ -1,11 +0,0 @@ -from App import App -from Classes.Engine.Logger import Logger -from Classes.Engine.Utils.StringUtils import StringUtils -from Classes.Engine.Utils.Path import PathUtil - -if __name__ == "__main__": - - logger = Logger(PathUtil.getAbsolutePathTo("log/"+StringUtils.get_random_string(8)+".log")) - - logger.info("starting game engine") - game = App(logger) \ No newline at end of file diff --git a/OLD_Server/.env b/OLD_Server/.env deleted file mode 100644 index 56fba80..0000000 --- a/OLD_Server/.env +++ /dev/null @@ -1,4 +0,0 @@ -HOST="127.0.0.1" -TCPPORT=54322 -UDPPORT=54323 -ENV="DEV" \ No newline at end of file diff --git a/OLD_Server/.vscode/settings.json b/OLD_Server/.vscode/settings.json deleted file mode 100644 index 1341321..0000000 --- a/OLD_Server/.vscode/settings.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "cSpell.words": [ - "DGRAM" - ], - "cSpell.ignoreWords": [ - "activateeffectcard", - "activatemonstereffect", - "attackcard", - "attackplayer", - "movecard", - "placecard", - "removecard" - ] -} \ No newline at end of file diff --git a/OLD_Server/Assets/Arenas/default.png b/OLD_Server/Assets/Arenas/default.png deleted file mode 100644 index ba5da22..0000000 Binary files a/OLD_Server/Assets/Arenas/default.png and /dev/null differ diff --git a/OLD_Server/Assets/Cards/Arena/field.png b/OLD_Server/Assets/Cards/Arena/field.png deleted file mode 100644 index 472f0a1..0000000 Binary files a/OLD_Server/Assets/Cards/Arena/field.png and /dev/null differ diff --git a/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json b/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json deleted file mode 100644 index 0df2ece..0000000 --- a/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "id": 1, - "name": "Test Monster", - "image": "Assets/Cards/testmonstercard/cards.png", - "description": "can attack other monsters", - "costs": 30, - "defense": 40, - "attacks":[ - { - "id": 1, - "name":"test attack", - "description": "can attack another Monster", - "damage": 80 - }, - { - "id": 2, - "name":"test attack", - "description": "can attack another Monster", - "damage": 80 - } - ] -} diff --git a/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.png b/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.png deleted file mode 100644 index 320d60d..0000000 Binary files a/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.png and /dev/null differ diff --git a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png b/OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png deleted file mode 100644 index 9955a0c..0000000 Binary files a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png and /dev/null differ diff --git a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json b/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json deleted file mode 100644 index 51d4083..0000000 --- a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "testspell", - "image":"Assets/Cards/testspelltcard/artwork.png", - "costs": 30, - "description":"this is a test spell card" -} \ No newline at end of file diff --git a/OLD_Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png b/OLD_Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png deleted file mode 100644 index 9955a0c..0000000 Binary files a/OLD_Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png and /dev/null differ diff --git a/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json b/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json deleted file mode 100644 index 6d1cd5a..0000000 --- a/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "testtrap", - "image":"Assets/Cards/testtrapcard/artwork.png", - "costs": 30, - "description":"this is a test tryp card" -} \ No newline at end of file diff --git a/OLD_Server/Classes/Game/Player.py b/OLD_Server/Classes/Game/Player.py deleted file mode 100644 index 5ac1b1a..0000000 --- a/OLD_Server/Classes/Game/Player.py +++ /dev/null @@ -1,57 +0,0 @@ -import random - -class Player: - __id:int - __hp:int - __mana:int - __name:str - __handCards:list - __deck:list - - def __init__(self, name:str, deck:list, hp:int=1000, mana:int=0): - self.__hp = hp - self.__mana = mana - self.__name = name - self.__handCards = [] - self.__deck = deck - self.__id = random.randint(3, 99999) - self.__mana = mana - - def shuffleDeck(self): - self.__deck = random.shuffle(self.__deck) - - def getDeck(self) -> list: - return self.__deck - - def getName(self) -> str: - return self.__name - - def getHP(self) -> int: - return self.__hp - - def adjustHP(self, hp:int) -> int: - self.__hp = self.__hp + hp - - def getID(self) -> int: - return self.__id - - def getHand(self) -> list: - return self.__handCards - - def getMana(self) -> int: - return self.__mana - - def addMana(self, amount) -> int: - self.__mana + amount - return self.__mana - - def AddToHand(self, card) -> list: - self.__handCards.append(card) - return self.__handCards - - def setHand(self, hand:list): - self.__handCards = hand - - def removeFromHand(self, pos:int) -> list: - self.__handCards.remove(pos) - return self.__handCards \ No newline at end of file diff --git a/OLD_Server/Classes/Game/__pycache__/Player.cpython-311.pyc b/OLD_Server/Classes/Game/__pycache__/Player.cpython-311.pyc deleted file mode 100644 index 2c346f1..0000000 Binary files a/OLD_Server/Classes/Game/__pycache__/Player.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc b/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc deleted file mode 100644 index ff481bf..0000000 Binary files a/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/GameManager.py b/OLD_Server/Classes/System/GameManager.py deleted file mode 100644 index 6c4cb1b..0000000 --- a/OLD_Server/Classes/System/GameManager.py +++ /dev/null @@ -1,155 +0,0 @@ -import json -import socket -import time -from Classes.Game.Player import Player - - -class GameManager: - __players:dict - __playingPlayer:Player - __state:str - __round:str - __cards:list - - def __init__(self, logger): - self.__players = {} - self.__playingPlayer = None - self.__state = "waiting" - self.__round = "none" - self.logger = logger - self.__cards = [] - pass - - def getLogger(self): - return self.logger - - # card management - def spawnCard(self, card, owner, x, y): - # self.logger.info("spawning card") - - self.__cards.append(card) - - payload = { - "event":"PlacedCard", - "owner": owner, - "card": card, - "x": x, - "y": y, - } - - for userAddr in self.__players.keys(): - try: - self.logger.info(f"send to client {self.__players[userAddr]['player'].getID() != owner}") - if self.__players[userAddr]["player"].getID() != owner: - self.__players[userAddr]["socket"].send(json.dumps(payload).encode()) - except: - pass - - # game round management - # this section manages the flow of rounds this should inherit itself - # ============================================================================= - - # this function iterates all - def progressRound(self): - # phases - # - playerPrep => playing player switches, gets a mana point and gets verified - if self.__playingPlayer != None: - for player in self.__players: - if self.__playingPlayer != player: - self.__playingPlayer = player - else: - self.__playingPlayer = next(iter(self.__players)) - # - playerDraw => player draws a card - # - playerPlay => player can place cards and active effects - # - playerEnd => player ends his turn and the code reiterates with the remaining player - pass - - # game state management - # this section mostly only used by the networking and event handling classes - # other parts should never need to interface with this unless really required - # ============================================================================= - def startGame(self, tcpSocket: socket): - self.__state = "running" - - players = list(self.__players.values()) - - print("game starts") - self.logger.info("game manager is starting the game") - for userAddr, player_data in self.__players.items(): - try: - user = player_data["player"] - user.addMana(1000) - user.adjustHP(1000) - user.shuffleDeck() - cards = self.__players[userAddr]["deck"] - user.setHand(cards[:5]) - - # iterates until the enemy player is not anymore equal to current player - enemy = next(player_data["player"] for player_data in players if player_data["player"] != user) - - payload = { - "event": "startgame", - "player": { - "mana": user.getMana(), - "hp": user.getHP(), - "hand": user.getHand() - }, - "enemy": { - "id": enemy.getID(), - "name": enemy.getName(), - "hp": enemy.getHP(), - }, - } - - print(f"user {player_data["socket"]}") - player_data["socket"].send(json.dumps(payload).encode()) - except Exception as e: - self.logger.error(f"failed to start game due to error: {e}") - break - - def stopGame(self): - # handles notifying all players that the game stops - # handles stoping the game itself and notifies server to stop itself - pass - - # player management - # the network manager will create a player instance - # ============================================================= - - # gets all player known to the game manager and returns them - def getPlayers(self) -> dict: - return self.__players - - # creates a player and handles counting all players and if conditions met starting the game - # returns the new dict in which the new player now is added - def addPlayers(self, player:Player, socket:socket, clientAddr, deck) -> dict: - - self.logger.info(f"creating user with id: {player.getID}") - self.__players[clientAddr] = { - "player": player, - "deck": deck, - "socket":socket - } - self.logger.info(f"new length of user dictionary: {len(self.__players)}") - - payload = { - "event":"loginresponse", - "status": "success", - "id": player.getID(), - "name": player.getName() - } - - socket.send(json.dumps(payload).encode()) - - - # counts participating players and starts the game if enough have joined - if len(self.__players) >= 2: - time.sleep(1) - self.logger.info("2 players have join game starts") - self.startGame() - - return self.__players - - def removePlayers(self, clientAddr): - self.logger.info(f"removing player with address '{clientAddr}' from players database") - del self.__players[clientAddr] \ No newline at end of file diff --git a/OLD_Server/Classes/System/Logger.py b/OLD_Server/Classes/System/Logger.py deleted file mode 100644 index b548160..0000000 --- a/OLD_Server/Classes/System/Logger.py +++ /dev/null @@ -1,18 +0,0 @@ -import logging - - -class Logger: - def __init__(self, filename): - logging.basicConfig(filename=filename, - filemode='a', - format='%(asctime)s,%(msecs)d %(name)s %(levelname)s %(message)s', - datefmt='%H:%M:%S', - level=logging.DEBUG) - - def info(self, message): - print(message) - logging.info(message) - - def error(self, message): - print(message) - logging.error(message) \ No newline at end of file diff --git a/OLD_Server/Classes/System/Network/EventHandler.py b/OLD_Server/Classes/System/Network/EventHandler.py deleted file mode 100644 index 0a32ef2..0000000 --- a/OLD_Server/Classes/System/Network/EventHandler.py +++ /dev/null @@ -1,45 +0,0 @@ -import socket -from Classes.Game.Player import Player -from Classes.System.GameManager import GameManager - -from Classes.System.World import World - - -class TCPEventHandler: - __tcpSocket:socket - - def __init__(self, socket:socket): - self.__tcpSocket = socket - - # handles passing of event data to the right functions - def handleTCPEvents(self, event, gameManager:GameManager, address): - gameManager.getLogger().info(f"incommingevent {event}") - if event["event"] == "PlaceCard": - gameManager.getLogger().info(f"player {event['user']} attempted to place card {event['card']}") - for playerKey in gameManager.getPlayers().keys(): - player = gameManager.getPlayers()[playerKey] - if int(event["user"]) != player["player"].getID(): - payload = { - "event":"cardPlaced", - "card": { - "card":event["card"], - "owner": event["user"], - "x": event["x"], - "y": event["y"] - } - } - player["socket"].send(payload) - pass - elif event["event"] == "MoveCard": - pass - elif event["event"] == "RemoveCard": - pass - elif event["event"] == "AttackCard": - pass - elif event["event"] == "AttackPlayer": - pass - elif event["event"] == "ActivateEffectCard": - pass - elif event["event"] == "ActivateMonsterCard": - pass - pass \ No newline at end of file diff --git a/OLD_Server/Classes/System/Network/NetworkManger.py b/OLD_Server/Classes/System/Network/NetworkManger.py deleted file mode 100644 index b6d2174..0000000 --- a/OLD_Server/Classes/System/Network/NetworkManger.py +++ /dev/null @@ -1,145 +0,0 @@ -import json -import signal -import socket -import sys -import threading -from Classes.Game.Player import Player -from Classes.System.GameManager import GameManager - -from Classes.System.Network.EventHandler import TCPEventHandler -from Classes.System.World import World - -class NetworkManager: - class TCP: - __Addr:str - __Port:str - __BufferSize:int = 1024 - __tcpSocket:socket - __eventHandler: dict - __users: dict - __TCPClientThread:threading.Thread - __gameManager:GameManager - - def __init__(self, Addr:str, Port:str, gameManager:GameManager): - gameManager.getLogger().info("starting up network manager") - - self.running = True - self.__Addr = Addr - self.__Port = int(Port) - self.__gameManager = gameManager - self.__eventHandler = {} - - gameManager.getLogger().info("starting up tcp server") - self.__tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.__tcpSocket.bind((self.__Addr, self.__Port)) - self.__tcpSocket.listen() - - gameManager.getLogger().info("starting up thread for client socket accepting") - self.__TCPClientThread = threading.Thread(target=self.accept_connections) - self.__TCPClientThread.daemon = True - self.__TCPClientThread.start() - - def accept_connections(self): - while self.running: - try: - client_tcp_socket, client_address = self.__tcpSocket.accept() - self.__gameManager.getLogger().info(f"Connected with {client_address}") - self.__gameManager.getPlayers()[client_address] = client_tcp_socket - self.__eventHandler[client_address] = TCPEventHandler(client_tcp_socket) - - client_handler_thread = threading.Thread( - target=self.receive, - args=(client_tcp_socket, client_address) - ) - - self.__gameManager.getLogger().info(f"starting client handler thread for client at address {client_address}") - client_handler_thread.daemon = True - client_handler_thread.start() - - except Exception as e: - self.__gameManager.getLogger().error(f"tcp socket failed to accept connection due to error: {e}") - pass - client_handler_thread.join() - - def receive(self, client_socket, client_address): - while self.running: - try: - data = client_socket.recv(self.__BufferSize) - if not data: - self.__gameManager.getLogger().info(f"Connection with {client_address} closed.") - break - - try: - - message = data.decode() - messageJson = json.loads(message) - self.__gameManager.getLogger().info(f"decoded message {messageJson}") - user = messageJson.get("user") - self.__gameManager.getLogger().info(f"user in message {user}") - - except Exception as ex: - self.__gameManager.getLogger().info(f"decoding incoming packet failed due to exception: {ex}") - - # creates a user and counts how many currently are connected to the server - # if enough users for a round are connected the server has to start the game - if user not in self.__gameManager.getPlayers(): - if messageJson["event"] == "login": - self.__gameManager.getLogger().info("user logging in") - self.__gameManager.getLogger().info("task passed off to gameManager") - user = self.__gameManager.addPlayers(Player(messageJson["username"], messageJson["deck"]), client_socket, client_address, messageJson["deck"]) - self.__gameManager.getLogger().info(f"connected users {len(self.__gameManager.getPlayers())}") - - self.__gameManager.getLogger().info(f"confirming login for user") - self.send({ - "event": "loginresponse", - "status": "success", - "username": user[client_address]["player"].getName(), - "id": user[client_address]["player"].getID(), - }, client_address) - - self.__eventHandler[client_address].handleTCPEvents(messageJson, self.__gameManager, client_address) - self.__gameManager.getLogger().info(f"Received message from {client_address}: {message}") - - except socket.error as e: - - if e.errno == 10054: - self.__gameManager.getLogger().error(f"Connection with {client_address} forcibly closed by remote host.") - players = self.__gameManager.getPlayers() - self.__gameManager.removePlayers(client_address) - self.__gameManager.getLogger().info(f"new player length {len(players)}") - break - - self.__gameManager.getLogger().error(f"Socket error receiving data from {client_address}: {e}") - - except json.JSONDecodeError as e: - self.__gameManager.getLogger().error(f"JSON decoding error receiving data from {client_address}: {e}") - - # except Exception as e: - # self.__gameManager.getLogger().error(f"UknownError receiving data from {client_address} due to error: {e}") - - def broadcast(self, payload:dict): - for user in self.__gameManager.getPlayers().values(): - user["socket"].send(json.dumps(payload).encode()) - - def send(self, payload: dict, user: str): - players = self.__gameManager.getPlayers() - - if user in players and "socket" in players[user]: - players[user]["socket"].send(json.dumps(payload).encode()) - else: - self.__gameManager.getLogger().error(f"user '{user}' or socket was not found 'socket' failed to send data.") - - def stop(self): - self.__TCPClientThread.join() # Wait for the thread to finish before exiting - - tcp: TCP - # udp: UDP - - def __init__(self, Addr:str, TCPPort:str, UDPPort:str, gameManager:GameManager): - self.tcp = self.TCP(Addr, TCPPort, gameManager) - signal.signal(signal.SIGINT, self.handle_interrupt) # Register the signal handler - - def handle_interrupt(self, signum, frame): - self.__gameManager.getLogger().info("Received keyboard interrupt. Stopping the server.") - self.tcp().stop() - sys.exit(0) \ No newline at end of file diff --git a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc b/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc deleted file mode 100644 index 8e128bb..0000000 Binary files a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc deleted file mode 100644 index 5f66d8b..0000000 Binary files a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc b/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc deleted file mode 100644 index a79516b..0000000 Binary files a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc b/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc deleted file mode 100644 index 69b4416..0000000 Binary files a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/PlayerManager.py b/OLD_Server/Classes/System/PlayerManager.py deleted file mode 100644 index e149622..0000000 --- a/OLD_Server/Classes/System/PlayerManager.py +++ /dev/null @@ -1,23 +0,0 @@ -import json -class Player: - - def createUser(self, user:json): - self.__users.append(user) - - def createUser(self, user:json): - if self.getUser(user["username"]) == None: - self.__users.append(Player(user["username"])) - - def removeUser(self, user:int): - self.__users.remove(user) - - def removeUser(self, user:str): - self.__users.remove(user) - - def getUsers(self) -> list: - return self.__users - - def getUser(self, user:int): - for user in self.__users: - if int(user["id"]) == user: - return user \ No newline at end of file diff --git a/OLD_Server/Classes/System/QueueManager.py b/OLD_Server/Classes/System/QueueManager.py deleted file mode 100644 index be82662..0000000 --- a/OLD_Server/Classes/System/QueueManager.py +++ /dev/null @@ -1,34 +0,0 @@ - - -from Classes.Game.Player import Player - - -class QueueManager: - __queue:list - - def __init__(self): - self.__queue = [] - - def getQueue(self) -> list: - return self.__queue - - def addToQueue(self, user) -> list: - if self.isInQueue(user["id"]): - self.__queue.append(user) - return self.__queue - - def removeFromQueue(self, player:Player) -> list: - self.__queue.remove(player) - return self.__queue - - def isInQueue(self, user:int) -> bool: - for user in self.__queue: - if int(user["id"]) == user: - return True - return False - - def isInQueue(self, user:str) -> bool: - for user in self.__queue: - if user["username"] == user: - return True - return False \ No newline at end of file diff --git a/OLD_Server/Classes/System/Server.py b/OLD_Server/Classes/System/Server.py deleted file mode 100644 index c3485db..0000000 --- a/OLD_Server/Classes/System/Server.py +++ /dev/null @@ -1,40 +0,0 @@ -import json -import socket -import threading -from Classes.System.GameManager import GameManager - -from Classes.System.Network.NetworkManger import NetworkManager -from Classes.System.PlayerManager import Player -from Classes.System.World import World -from Classes.System.Logger import Logger - -class Server: - - __address:str - __tcpPort:str - __udpPort:str - __world:World - __gameManager:GameManager - - networkManager:NetworkManager - - def __init__(self, address:str, tcpPort:str, udpPort:str, logger:Logger): - self.__address = address - self.__tcpPort = tcpPort - self.__udpPort = udpPort - self.__world = World() - self.logger = logger - - self.logger.info("starting up game manager") - self.__gameManager = GameManager(logger) - - self.logger.info("preparing to start server") - self.startServer(self.__gameManager) - - # handles starting the server and assigning socket values to the local reference - def startServer(self, gameManager:GameManager): - self.logger.info("starting up network manager") - self.__networkManager = NetworkManager(self.__address, self.__tcpPort, self.__udpPort, gameManager) - - def getNetworkManager(self) -> NetworkManager: - return self.__networkManager \ No newline at end of file diff --git a/OLD_Server/Classes/System/Utils/Path.py b/OLD_Server/Classes/System/Utils/Path.py deleted file mode 100644 index a274f43..0000000 --- a/OLD_Server/Classes/System/Utils/Path.py +++ /dev/null @@ -1,6 +0,0 @@ -import os - - -class PathUtil: - def getAbsolutePathTo(notAbsolutPath:str) -> str: - return os.path.abspath("OLD_Server/" + notAbsolutPath) \ No newline at end of file diff --git a/OLD_Server/Classes/System/Utils/StringUtils.py b/OLD_Server/Classes/System/Utils/StringUtils.py deleted file mode 100644 index e4d02a1..0000000 --- a/OLD_Server/Classes/System/Utils/StringUtils.py +++ /dev/null @@ -1,11 +0,0 @@ -import random -import string - - -class StringUtils: - def get_random_string(length) -> str: - # choose from all lowercase letter - letters = string.ascii_lowercase - result_str = ''.join(random.choice(letters) for i in range(length)) - print("Random string of length", length, "is:", result_str) - return result_str diff --git a/OLD_Server/Classes/System/World.py b/OLD_Server/Classes/System/World.py deleted file mode 100644 index f6b2957..0000000 --- a/OLD_Server/Classes/System/World.py +++ /dev/null @@ -1,20 +0,0 @@ -import socket -from Classes.Game.Player import Player - - -class World: - __players:dict - - def __init__(self): - self.__players = {} - - def getPlayers(self) -> list: - return self.__players - - def addPlayers(self, player:Player, socket:socket, clientAddr) -> list: - self.__players[clientAddr] = { - player: player, - socket:socket - } - - return self.__players \ No newline at end of file diff --git a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc deleted file mode 100644 index 34fddbb..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc deleted file mode 100644 index 9effb6a..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc deleted file mode 100644 index 7dc2efc..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc deleted file mode 100644 index 24c0a41..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-311.pyc deleted file mode 100644 index b43d1ec..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc deleted file mode 100644 index d3f0a4c..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc deleted file mode 100644 index 9c11ea7..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc deleted file mode 100644 index e6f1af4..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/World.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/World.cpython-311.pyc deleted file mode 100644 index a74158d..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/World.cpython-311.pyc and /dev/null differ diff --git a/OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc deleted file mode 100644 index d798c68..0000000 Binary files a/OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc and /dev/null differ diff --git a/OLD_Server/index.py b/OLD_Server/index.py deleted file mode 100644 index 27fd861..0000000 --- a/OLD_Server/index.py +++ /dev/null @@ -1,31 +0,0 @@ -import logging -import os -import random -import string -import sys - -from Classes.System.Server import Server -from Classes.System.Logger import Logger -from Classes.System.Utils.Path import PathUtil - -def get_random_string(length) -> str: - # choose from all lowercase letter - letters = string.ascii_lowercase - result_str = ''.join(random.choice(letters) for i in range(length)) - print("Random string of length", length, "is:", result_str) - return result_str - -def main(): - # retrieves host data from environment - HOST = "127.0.0.1" - TCPPORT = "54322" - UDPPORT = "54323" - - logger = Logger(PathUtil.getAbsolutePathTo("log/"+get_random_string(8)+".log")) - logger.info("starting up server") - server = Server(HOST, TCPPORT, UDPPORT, logging) - server.getNetworkManager().tcp.stop() - sys.exit(0) - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/OLD_Server/log/ftosavkt.log b/OLD_Server/log/ftosavkt.log deleted file mode 100644 index 5997e28..0000000 --- a/OLD_Server/log/ftosavkt.log +++ /dev/null @@ -1,35 +0,0 @@ -10:14:25,144 root INFO starting up server -10:14:25,145 root INFO starting up game manager -10:14:25,145 root INFO preparing to start server -10:14:25,145 root INFO starting up network manager -10:14:25,145 root INFO starting up network manager -10:14:25,145 root INFO starting up tcp server -10:14:25,147 root INFO starting up thread for client socket accepting -10:14:28,852 root INFO Connected with ('127.0.0.1', 40793) -10:14:28,853 root INFO starting client handler thread for client at address ('127.0.0.1', 40793) -10:14:28,862 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:28,863 root INFO user in message None -10:14:28,864 root INFO user logging in -10:14:28,865 root INFO task passed off to gameManager -10:14:28,866 root INFO creating user with id: > -10:14:28,866 root INFO new length of user dictionary: 1 -10:14:28,866 root INFO connected users 1 -10:14:28,867 root INFO confirming login for user -10:14:28,868 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:28,868 root INFO Received message from ('127.0.0.1', 40793): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:37,604 root INFO Connected with ('127.0.0.1', 40802) -10:14:37,604 root INFO starting client handler thread for client at address ('127.0.0.1', 40802) -10:14:37,617 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:37,618 root INFO user in message None -10:14:37,618 root INFO user logging in -10:14:37,618 root INFO task passed off to gameManager -10:14:37,620 root INFO creating user with id: > -10:14:37,622 root INFO new length of user dictionary: 2 -10:14:38,623 root INFO 2 players have join game starts -10:14:38,624 root INFO game manager is starting the game -10:14:38,624 root INFO connected users 2 -10:14:38,625 root INFO confirming login for user -10:14:38,626 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:38,626 root INFO Received message from ('127.0.0.1', 40802): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:14:45,312 root ERROR Connection with ('127.0.0.1', 40802) forcibly closed by remote host. -10:14:48,810 root ERROR Connection with ('127.0.0.1', 40793) forcibly closed by remote host. diff --git a/OLD_Server/log/kuketiqt.log b/OLD_Server/log/kuketiqt.log deleted file mode 100644 index 25a6234..0000000 --- a/OLD_Server/log/kuketiqt.log +++ /dev/null @@ -1,35 +0,0 @@ -10:03:57,851 root INFO starting up server -10:03:57,851 root INFO starting up game manager -10:03:57,852 root INFO preparing to start server -10:03:57,852 root INFO starting up network manager -10:03:57,852 root INFO starting up network manager -10:03:57,853 root INFO starting up tcp server -10:03:57,854 root INFO starting up thread for client socket accepting -10:04:05,109 root INFO Connected with ('127.0.0.1', 40671) -10:04:05,110 root INFO starting client handler thread for client at address ('127.0.0.1', 40671) -10:04:05,124 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:04:05,125 root INFO user in message None -10:04:05,125 root INFO user logging in -10:04:05,125 root INFO task passed off to gameManager -10:04:05,126 root INFO creating user with id: > -10:04:05,126 root INFO new length of user dictionary: 1 -10:04:05,126 root INFO connected users 1 -10:04:05,126 root INFO confirming login for user -10:04:05,126 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:04:05,127 root INFO Received message from ('127.0.0.1', 40671): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:04:11,420 root INFO Connected with ('127.0.0.1', 40672) -10:04:11,420 root INFO starting client handler thread for client at address ('127.0.0.1', 40672) -10:04:11,439 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:04:11,439 root INFO user in message None -10:04:11,439 root INFO user logging in -10:04:11,439 root INFO task passed off to gameManager -10:04:11,440 root INFO creating user with id: > -10:04:11,440 root INFO new length of user dictionary: 2 -10:04:12,441 root INFO 2 players have join game starts -10:04:12,442 root INFO game manager is starting the game -10:04:12,442 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:04:12,444 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:04:12,445 root INFO connected users 2 -10:04:12,445 root INFO confirming login for user -10:04:12,445 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:04:12,445 root INFO Received message from ('127.0.0.1', 40672): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} diff --git a/OLD_Server/log/mjlawgym.log b/OLD_Server/log/mjlawgym.log deleted file mode 100644 index 6a8d90a..0000000 --- a/OLD_Server/log/mjlawgym.log +++ /dev/null @@ -1,35 +0,0 @@ -10:13:00,7 root INFO starting up server -10:13:00,8 root INFO starting up game manager -10:13:00,8 root INFO preparing to start server -10:13:00,8 root INFO starting up network manager -10:13:00,9 root INFO starting up network manager -10:13:00,9 root INFO starting up tcp server -10:13:00,11 root INFO starting up thread for client socket accepting -10:13:16,730 root INFO Connected with ('127.0.0.1', 40780) -10:13:16,731 root INFO starting client handler thread for client at address ('127.0.0.1', 40780) -10:13:16,732 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:16,733 root INFO user in message None -10:13:16,733 root INFO user logging in -10:13:16,734 root INFO task passed off to gameManager -10:13:16,734 root INFO creating user with id: > -10:13:16,735 root INFO new length of user dictionary: 1 -10:13:16,735 root INFO connected users 1 -10:13:16,737 root INFO confirming login for user -10:13:16,738 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:16,738 root INFO Received message from ('127.0.0.1', 40780): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:25,741 root INFO Connected with ('127.0.0.1', 40781) -10:13:25,741 root INFO starting client handler thread for client at address ('127.0.0.1', 40781) -10:13:25,773 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:25,775 root INFO user in message None -10:13:25,775 root INFO user logging in -10:13:25,776 root INFO task passed off to gameManager -10:13:25,779 root INFO creating user with id: > -10:13:25,780 root INFO new length of user dictionary: 2 -10:13:26,781 root INFO 2 players have join game starts -10:13:26,781 root INFO game manager is starting the game -10:13:26,783 root INFO connected users 2 -10:13:26,784 root INFO confirming login for user -10:13:26,784 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:26,784 root INFO Received message from ('127.0.0.1', 40781): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:13:50,23 root ERROR Connection with ('127.0.0.1', 40780) forcibly closed by remote host. -10:14:14,978 root ERROR Connection with ('127.0.0.1', 40781) forcibly closed by remote host. diff --git a/OLD_Server/log/ncyhufrr.log b/OLD_Server/log/ncyhufrr.log deleted file mode 100644 index 17a3e86..0000000 --- a/OLD_Server/log/ncyhufrr.log +++ /dev/null @@ -1,35 +0,0 @@ -10:05:33,787 root INFO starting up server -10:05:33,788 root INFO starting up game manager -10:05:33,788 root INFO preparing to start server -10:05:33,788 root INFO starting up network manager -10:05:33,788 root INFO starting up network manager -10:05:33,788 root INFO starting up tcp server -10:05:33,790 root INFO starting up thread for client socket accepting -10:05:41,185 root INFO Connected with ('127.0.0.1', 40678) -10:05:41,185 root INFO starting client handler thread for client at address ('127.0.0.1', 40678) -10:05:41,203 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:05:41,204 root INFO user in message None -10:05:41,204 root INFO user logging in -10:05:41,204 root INFO task passed off to gameManager -10:05:41,204 root INFO creating user with id: > -10:05:41,204 root INFO new length of user dictionary: 1 -10:05:41,205 root INFO connected users 1 -10:05:41,205 root INFO confirming login for user -10:05:41,206 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:05:41,206 root INFO Received message from ('127.0.0.1', 40678): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:05:47,221 root INFO Connected with ('127.0.0.1', 40680) -10:05:47,221 root INFO starting client handler thread for client at address ('127.0.0.1', 40680) -10:05:47,229 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:05:47,233 root INFO user in message None -10:05:47,234 root INFO user logging in -10:05:47,234 root INFO task passed off to gameManager -10:05:47,234 root INFO creating user with id: > -10:05:47,234 root INFO new length of user dictionary: 2 -10:05:48,235 root INFO 2 players have join game starts -10:05:48,236 root INFO game manager is starting the game -10:05:48,236 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:05:48,237 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:05:48,237 root INFO connected users 2 -10:05:48,237 root INFO confirming login for user -10:05:48,237 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:05:48,237 root INFO Received message from ('127.0.0.1', 40680): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} diff --git a/OLD_Server/log/oiaflmlv.log b/OLD_Server/log/oiaflmlv.log deleted file mode 100644 index 1b02e2b..0000000 --- a/OLD_Server/log/oiaflmlv.log +++ /dev/null @@ -1,34 +0,0 @@ -10:18:24,131 root INFO starting up server -10:18:24,131 root INFO starting up game manager -10:18:24,132 root INFO preparing to start server -10:18:24,132 root INFO starting up network manager -10:18:24,132 root INFO starting up network manager -10:18:24,133 root INFO starting up tcp server -10:18:24,135 root INFO starting up thread for client socket accepting -10:18:29,738 root INFO Connected with ('127.0.0.1', 10248) -10:18:29,738 root INFO starting client handler thread for client at address ('127.0.0.1', 10248) -10:18:29,741 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:29,741 root INFO user in message None -10:18:29,741 root INFO user logging in -10:18:29,741 root INFO task passed off to gameManager -10:18:29,742 root INFO creating user with id: > -10:18:29,742 root INFO new length of user dictionary: 1 -10:18:29,742 root INFO connected users 1 -10:18:29,742 root INFO confirming login for user -10:18:29,742 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:29,742 root INFO Received message from ('127.0.0.1', 10248): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:34,161 root INFO Connected with ('127.0.0.1', 10249) -10:18:34,163 root INFO starting client handler thread for client at address ('127.0.0.1', 10249) -10:18:34,182 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:34,182 root INFO user in message None -10:18:34,183 root INFO user logging in -10:18:34,183 root INFO task passed off to gameManager -10:18:34,183 root INFO creating user with id: > -10:18:34,184 root INFO new length of user dictionary: 2 -10:18:35,184 root INFO 2 players have join game starts -10:18:35,186 root INFO game manager is starting the game -10:18:35,187 root INFO connected users 2 -10:18:35,187 root INFO confirming login for user -10:18:35,187 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:35,188 root INFO Received message from ('127.0.0.1', 10249): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:18:48,867 root ERROR Connection with ('127.0.0.1', 10249) forcibly closed by remote host. diff --git a/OLD_Server/log/ooqpxwpe.log b/OLD_Server/log/ooqpxwpe.log deleted file mode 100644 index 75c8e7e..0000000 --- a/OLD_Server/log/ooqpxwpe.log +++ /dev/null @@ -1,41 +0,0 @@ -10:20:46,144 root INFO starting up server -10:20:46,144 root INFO starting up game manager -10:20:46,144 root INFO preparing to start server -10:20:46,145 root INFO starting up network manager -10:20:46,145 root INFO starting up network manager -10:20:46,145 root INFO starting up tcp server -10:20:46,146 root INFO starting up thread for client socket accepting -10:20:51,500 root INFO Connected with ('127.0.0.1', 10276) -10:20:51,501 root INFO starting client handler thread for client at address ('127.0.0.1', 10276) -10:20:51,515 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:20:51,515 root INFO user in message None -10:20:51,516 root INFO user logging in -10:20:51,516 root INFO task passed off to gameManager -10:20:51,517 root INFO creating user with id: > -10:20:51,517 root INFO new length of user dictionary: 1 -10:20:51,517 root INFO connected users 1 -10:20:51,518 root INFO confirming login for user -10:20:51,518 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:20:51,518 root INFO Received message from ('127.0.0.1', 10276): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:21:07,724 root INFO Connected with ('127.0.0.1', 10277) -10:21:07,725 root INFO starting client handler thread for client at address ('127.0.0.1', 10277) -10:21:07,751 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:21:07,752 root INFO user in message None -10:21:07,753 root INFO user logging in -10:21:07,753 root INFO task passed off to gameManager -10:21:07,753 root INFO creating user with id: > -10:21:07,753 root INFO new length of user dictionary: 2 -10:21:08,754 root INFO 2 players have join game starts -10:21:08,754 root INFO game manager is starting the game -10:21:08,756 root INFO connected users 2 -10:21:08,756 root INFO confirming login for user -10:21:08,756 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:21:08,756 root INFO Received message from ('127.0.0.1', 10277): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:21:10,800 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 848, 'x': 1120.0, 'y': 600.0} -10:21:10,801 root INFO user in message 848 -10:21:10,801 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 848, 'x': 1120.0, 'y': 600.0} -10:21:10,801 root INFO send to client True -10:21:10,802 root INFO send to client False -10:21:10,802 root INFO Received message from ('127.0.0.1', 10277): {"event": "placecard", "card": 1, "type": "Monster", "user": 848, "x": 1120.0, "y": 600.0} -10:21:21,124 root ERROR Connection with ('127.0.0.1', 10277) forcibly closed by remote host. -10:21:21,148 root ERROR Connection with ('127.0.0.1', 10276) forcibly closed by remote host. diff --git a/OLD_Server/log/qrgtwasn.log b/OLD_Server/log/qrgtwasn.log deleted file mode 100644 index 3751ca7..0000000 --- a/OLD_Server/log/qrgtwasn.log +++ /dev/null @@ -1,35 +0,0 @@ -10:08:28,843 root INFO starting up server -10:08:28,843 root INFO starting up game manager -10:08:28,844 root INFO preparing to start server -10:08:28,844 root INFO starting up network manager -10:08:28,844 root INFO starting up network manager -10:08:28,844 root INFO starting up tcp server -10:08:28,846 root INFO starting up thread for client socket accepting -10:08:40,764 root INFO Connected with ('127.0.0.1', 40708) -10:08:40,764 root INFO starting client handler thread for client at address ('127.0.0.1', 40708) -10:08:40,785 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:08:40,787 root INFO user in message None -10:08:40,787 root INFO user logging in -10:08:40,788 root INFO task passed off to gameManager -10:08:40,789 root INFO creating user with id: > -10:08:40,789 root INFO new length of user dictionary: 1 -10:08:40,789 root INFO connected users 1 -10:08:40,790 root INFO confirming login for user -10:08:40,790 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:08:40,790 root INFO Received message from ('127.0.0.1', 40708): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:08:50,849 root INFO Connected with ('127.0.0.1', 40709) -10:08:50,850 root INFO starting client handler thread for client at address ('127.0.0.1', 40709) -10:08:50,865 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:08:50,866 root INFO user in message None -10:08:50,866 root INFO user logging in -10:08:50,866 root INFO task passed off to gameManager -10:08:50,867 root INFO creating user with id: > -10:08:50,868 root INFO new length of user dictionary: 2 -10:08:51,868 root INFO 2 players have join game starts -10:08:51,868 root INFO game manager is starting the game -10:08:51,868 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:08:51,869 root ERROR failed to start game due to error: list indices must be integers or slices, not str -10:08:51,869 root INFO connected users 2 -10:08:51,869 root INFO confirming login for user -10:08:51,869 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:08:51,869 root INFO Received message from ('127.0.0.1', 40709): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} diff --git a/OLD_Server/log/sxuostca.log b/OLD_Server/log/sxuostca.log deleted file mode 100644 index 3d78e83..0000000 --- a/OLD_Server/log/sxuostca.log +++ /dev/null @@ -1,40 +0,0 @@ -10:11:31,951 root INFO starting up server -10:11:31,951 root INFO starting up game manager -10:11:31,951 root INFO preparing to start server -10:11:31,952 root INFO starting up network manager -10:11:31,952 root INFO starting up network manager -10:11:31,952 root INFO starting up tcp server -10:11:31,953 root INFO starting up thread for client socket accepting -10:11:39,945 root INFO Connected with ('127.0.0.1', 40745) -10:11:39,945 root INFO starting client handler thread for client at address ('127.0.0.1', 40745) -10:11:39,959 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:11:39,960 root INFO user in message None -10:11:39,960 root INFO user logging in -10:11:39,960 root INFO task passed off to gameManager -10:11:39,960 root INFO creating user with id: > -10:11:39,961 root INFO new length of user dictionary: 1 -10:11:39,962 root INFO connected users 1 -10:11:39,962 root INFO confirming login for user -10:11:39,962 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:11:39,963 root INFO Received message from ('127.0.0.1', 40745): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:11:48,547 root INFO Connected with ('127.0.0.1', 40751) -10:11:48,547 root INFO starting client handler thread for client at address ('127.0.0.1', 40751) -10:11:48,578 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:11:48,578 root INFO user in message None -10:11:48,578 root INFO user logging in -10:11:48,579 root INFO task passed off to gameManager -10:11:48,579 root INFO creating user with id: > -10:11:48,579 root INFO new length of user dictionary: 2 -10:11:49,581 root INFO 2 players have join game starts -10:11:49,582 root INFO game manager is starting the game -10:11:49,585 root INFO connected users 2 -10:11:49,585 root INFO confirming login for user -10:11:49,586 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:11:49,586 root INFO Received message from ('127.0.0.1', 40751): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:12:17,219 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 56607, 'x': 386.0, 'y': 568.0} -10:12:17,219 root INFO user in message 56607 -10:12:17,219 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 56607, 'x': 386.0, 'y': 568.0} -10:12:17,219 root INFO send to client False -10:12:17,219 root INFO send to client True -10:12:17,219 root INFO Received message from ('127.0.0.1', 40745): {"event": "placecard", "card": 1, "type": "Monster", "user": 56607, "x": 386.0, "y": 568.0} -10:12:26,488 root ERROR Connection with ('127.0.0.1', 40751) forcibly closed by remote host. diff --git a/OLD_Server/log/xtjfeaau.log b/OLD_Server/log/xtjfeaau.log deleted file mode 100644 index c37963a..0000000 --- a/OLD_Server/log/xtjfeaau.log +++ /dev/null @@ -1,35 +0,0 @@ -10:09:58,809 root INFO starting up server -10:09:58,809 root INFO starting up game manager -10:09:58,809 root INFO preparing to start server -10:09:58,809 root INFO starting up network manager -10:09:58,810 root INFO starting up network manager -10:09:58,810 root INFO starting up tcp server -10:09:58,812 root INFO starting up thread for client socket accepting -10:10:02,221 root INFO Connected with ('127.0.0.1', 40727) -10:10:02,221 root INFO starting client handler thread for client at address ('127.0.0.1', 40727) -10:10:02,225 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:10:02,225 root INFO user in message None -10:10:02,225 root INFO user logging in -10:10:02,226 root INFO task passed off to gameManager -10:10:02,226 root INFO creating user with id: > -10:10:02,226 root INFO new length of user dictionary: 1 -10:10:02,227 root INFO connected users 1 -10:10:02,227 root INFO confirming login for user -10:10:02,227 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:10:02,228 root INFO Received message from ('127.0.0.1', 40727): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:10:22,682 root INFO Connected with ('127.0.0.1', 40736) -10:10:22,682 root INFO starting client handler thread for client at address ('127.0.0.1', 40736) -10:10:22,709 root INFO decoded message {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:10:22,709 root INFO user in message None -10:10:22,710 root INFO user logging in -10:10:22,710 root INFO task passed off to gameManager -10:10:22,710 root INFO creating user with id: > -10:10:22,712 root INFO new length of user dictionary: 2 -10:10:23,713 root INFO 2 players have join game starts -10:10:23,714 root INFO game manager is starting the game -10:10:23,714 root ERROR failed to start game due to error: list indices must be integers or slices, not tuple -10:10:23,715 root ERROR failed to start game due to error: list indices must be integers or slices, not tuple -10:10:23,715 root INFO connected users 2 -10:10:23,715 root INFO confirming login for user -10:10:23,715 root INFO incommingevent {'event': 'login', 'username': 'player', 'deck': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} -10:10:23,715 root INFO Received message from ('127.0.0.1', 40736): {"event": "login", "username": "player", "deck": [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]} diff --git a/OLD_Server/server logic notes.md b/OLD_Server/server logic notes.md deleted file mode 100644 index 7370d4a..0000000 --- a/OLD_Server/server logic notes.md +++ /dev/null @@ -1,42 +0,0 @@ -# validation for placing cards: -- is the game still running -- is it the players turn -- does the card exist -- does the player have that card in his deck -- does the player have this card in his hand -- is the type of card allowed in that type of field -- is the field already blocked by another card - -# validation for attacking another player -- is the game still running -- is it the players turn -- does the card exist -- does the player have that card in his deck -- is that card played -- does the enemy have remaining monster cards on his side - - if yes a direct attack would only be possible if a effect allows it -- can this card attack - - is the card of correct type - - is it blocked by effects (will be implemented after card effects are implemented) - -# player death management (win condition) -- does a players hp go to 0? - - make the other player the winner - - if an effect affects the playing player card priority comes first - -# handle a player leaving -- check if game still runs - - make remaining player win if yes - -# turn management -- server keeps track of each turn - - whos turn is it - - what turn state is currently active - - draw state - - place state - - 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