From d6ba33874d59450d78e79000af7df21011a44470 Mon Sep 17 00:00:00 2001 From: steev Date: Tue, 16 Jan 2024 23:44:13 +0100 Subject: [PATCH 1/4] initial commit for rework --- .idea/.gitignore | 8 - .idea/Online_TCG.iml | 21 --- .../inspectionProfiles/profiles_settings.xml | 6 - .idea/misc.xml | 7 - .idea/modules.xml | 8 - .idea/vcs.xml | 6 - .vscode/launch.json | 16 -- .vscode/settings.json | 5 - Game Client/App.py | 66 +++++++++ .../Classes/Engine/Components}/BoardField.py | 2 +- .../Classes/Engine}/Components/Label.py | 0 Game Client/Classes/Engine/EventHandler.py | 105 +++++++++++++ .../Classes/Engine}/InputHandler.py | 5 + .../Classes/Engine}/Logger.py | 0 .../Classes/Engine}/TCPClient.py | 4 +- .../Classes/Engine/Utils/StringUtils.py | 11 ++ .../Classes/Engine}/Window.py | 0 .../Classes/Game/Cards/Card.py | 0 .../Classes/Game/Cards/MonsterCard.py | 4 +- .../Classes/Game/Cards/SpellCard.py | 4 +- .../Classes/Game/Cards/TrapCard.py | 4 +- .../Classes/Game/NetworkEvents}/GameStart.py | 2 +- .../Classes/Game/NetworkEvents}/Login.py | 2 +- .../Classes/Game/NetworkEvents}/PlaceCard.py | 2 +- .../Classes/Game/Player.py | 0 .../Classes/Game/World.py | 38 ++--- Game Client/main.py | 9 ++ Game Server/.env | 4 - Game Server/.vscode/settings.json | 14 -- Game Server/Assets/Arenas/default.png | Bin 10988 -> 0 bytes Game Server/Assets/Cards/Arena/field.png | Bin 612 -> 0 bytes .../MonsterCards/testmonstercard/card.json | 22 --- .../MonsterCards/testmonstercard/card.png | Bin 9570 -> 0 bytes .../SpeelCards/testspellcard/artworkjson.png | Bin 2389 -> 0 bytes .../testspellcard/testspellcard.json | 6 - .../TrapCards/testtrapcard/artworkjson.png | Bin 2389 -> 0 bytes .../TrapCards/testtrapcard/testtrapcard.json | 6 - Game Server/Classes/Game/Player.py | 56 ------- .../Game/__pycache__/Player.cpython-311.pyc | Bin 3460 -> 0 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 3265 -> 0 bytes Game Server/Classes/System/GameManager.py | 103 ------------- .../Classes/System/Network/EventHandler.py | 31 ---- .../Classes/System/Network/NetworkManger.py | 140 ------------------ .../__pycache__/EventHandler.cpython-311.pyc | Bin 1722 -> 0 bytes .../__pycache__/EventHandler.cpython-312.pyc | Bin 1503 -> 0 bytes .../__pycache__/NetworkManger.cpython-311.pyc | Bin 11033 -> 0 bytes .../__pycache__/NetworkManger.cpython-312.pyc | Bin 10000 -> 0 bytes Game Server/Classes/System/PlayerManager.py | 23 --- Game Server/Classes/System/QueueManager.py | 32 ---- Game Server/Classes/System/Server.py | 40 ----- Game Server/Classes/System/World.py | 20 --- .../__pycache__/GameManager.cpython-311.pyc | Bin 4486 -> 0 bytes .../__pycache__/GameManager.cpython-312.pyc | Bin 4142 -> 0 bytes .../System/__pycache__/Logger.cpython-311.pyc | Bin 1309 -> 0 bytes .../System/__pycache__/Logger.cpython-312.pyc | Bin 1149 -> 0 bytes .../__pycache__/PlayerManager.cpython-311.pyc | Bin 1981 -> 0 bytes .../__pycache__/PlayerManager.cpython-312.pyc | Bin 1739 -> 0 bytes .../System/__pycache__/Server.cpython-311.pyc | Bin 2529 -> 0 bytes .../System/__pycache__/Server.cpython-312.pyc | Bin 2281 -> 0 bytes .../System/__pycache__/World.cpython-311.pyc | Bin 1183 -> 0 bytes .../System/__pycache__/World.cpython-312.pyc | Bin 1078 -> 0 bytes Game Server/index.py | 30 ---- Game Server/log/sokyhrdv.log | 29 ---- Game Server/server logic notes.md | 42 ------ Game_Client/.vscode/settings.json | 15 -- Game_Client/Assets/Arenas/default.png | Bin 10988 -> 0 bytes Game_Client/Assets/Cards/0/field.png | Bin 612 -> 0 bytes Game_Client/Assets/Cards/1/card.json | 23 --- Game_Client/Assets/Cards/1/card.png | Bin 9570 -> 0 bytes Game_Client/Assets/Cards/2/artworkjson.png | Bin 2389 -> 0 bytes Game_Client/Assets/Cards/2/testspellcard.json | 9 -- Game_Client/Assets/Cards/3/artworkjson.png | Bin 2389 -> 0 bytes Game_Client/Assets/Cards/3/testtrapcard.json | 9 -- .../Cards/__pycache__/Card.cpython-311.pyc | Bin 6048 -> 0 bytes .../Cards/__pycache__/Card.cpython-312.pyc | Bin 5777 -> 0 bytes .../__pycache__/MonsterCard.cpython-311.pyc | Bin 5661 -> 0 bytes .../__pycache__/MonsterCard.cpython-312.pyc | Bin 5506 -> 0 bytes .../__pycache__/SpellCard.cpython-311.pyc | Bin 4751 -> 0 bytes .../__pycache__/SpellCard.cpython-312.pyc | Bin 4612 -> 0 bytes .../__pycache__/TrapCard.cpython-311.pyc | Bin 4727 -> 0 bytes .../__pycache__/TrapCard.cpython-312.pyc | Bin 4590 -> 0 bytes .../__pycache__/GameStart.cpython-311.pyc | Bin 1181 -> 0 bytes .../__pycache__/GameStart.cpython-312.pyc | Bin 1032 -> 0 bytes .../Events/__pycache__/Login.cpython-311.pyc | Bin 1265 -> 0 bytes .../Events/__pycache__/Login.cpython-312.pyc | Bin 1091 -> 0 bytes .../__pycache__/PlaceCard.cpython-311.pyc | Bin 1953 -> 0 bytes .../__pycache__/PlaceCard.cpython-312.pyc | Bin 1797 -> 0 bytes .../__pycache__/BoardField.cpython-311.pyc | Bin 5037 -> 0 bytes .../__pycache__/BoardField.cpython-312.pyc | Bin 4938 -> 0 bytes .../Game/__pycache__/Player.cpython-311.pyc | Bin 2761 -> 0 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 2688 -> 0 bytes .../Game/__pycache__/World.cpython-311.pyc | Bin 10505 -> 0 bytes .../Game/__pycache__/World.cpython-312.pyc | Bin 10091 -> 0 bytes Game_Client/Classes/System/App.py | 139 ----------------- .../__pycache__/InputHandler.cpython-311.pyc | Bin 3305 -> 0 bytes .../__pycache__/InputHandler.cpython-312.pyc | Bin 2996 -> 0 bytes .../__pycache__/Label.cpython-311.pyc | Bin 3655 -> 0 bytes .../__pycache__/Label.cpython-312.pyc | Bin 3603 -> 0 bytes .../__pycache__/Window.cpython-311.pyc | Bin 3667 -> 0 bytes .../__pycache__/Window.cpython-312.pyc | Bin 3426 -> 0 bytes .../Classes/System/Network/EventHandler.py | 45 ------ .../__pycache__/EventHandler.cpython-311.pyc | Bin 2919 -> 0 bytes .../__pycache__/EventHandler.cpython-312.pyc | Bin 2343 -> 0 bytes .../NetworkManager.cpython-311.pyc | Bin 6474 -> 0 bytes .../__pycache__/TCPClient.cpython-311.pyc | Bin 3475 -> 0 bytes .../__pycache__/TCPClient.cpython-312.pyc | Bin 3142 -> 0 bytes .../System/__pycache__/App.cpython-311.pyc | Bin 9718 -> 0 bytes .../System/__pycache__/App.cpython-312.pyc | Bin 9025 -> 0 bytes .../__pycache__/InputHandler.cpython-311.pyc | Bin 3476 -> 0 bytes .../__pycache__/InputHandler.cpython-312.pyc | Bin 3083 -> 0 bytes .../System/__pycache__/Window.cpython-311.pyc | Bin 3318 -> 0 bytes .../System/__pycache__/Window.cpython-312.pyc | Bin 3104 -> 0 bytes .../System/__pycache__/World.cpython-311.pyc | Bin 880 -> 0 bytes .../System/__pycache__/World.cpython-312.pyc | Bin 774 -> 0 bytes Game_Client/main.py | 7 - Online_TCG.code-workspace | 12 -- card files/Card_Template.blend1 | Bin 862444 -> 0 bytes card files/MonsterCard/MonsterCard.blend | Bin 859008 -> 0 bytes card files/MonsterCard/MonsterCard.blend1 | Bin 862444 -> 0 bytes card files/MonsterCard/MonsterCard.mtl | 2 - card files/MonsterCard/MonsterCard.obj | 45 ------ card files/MonsterCard/MonsterCard.png | Bin 22740 -> 0 bytes card files/MonsterCard/MonsterCard.psd | Bin 325101 -> 0 bytes .../TCG_Concept_server_infrastructure.drawio | 122 --------------- card files/Templates/Card_Template.blend | Bin 862444 -> 0 bytes card files/Templates/Texture Template.psd | Bin 82030 -> 0 bytes card files/arena _field/Card_Template.blend | Bin 868928 -> 0 bytes card files/arena _field/Card_Template.blend1 | Bin 862520 -> 0 bytes card files/arena _field/Card_Template.fbx | Bin 12892 -> 0 bytes card files/arena _field/Card_Template.mtl | 13 -- card files/arena _field/Card_Template.obj | 40 ----- card files/arena _field/arena_field.png | Bin 28951 -> 0 bytes card files/arena _field/arena_vield.psd | Bin 202700 -> 0 bytes card files/tcg_concept_card.png | Bin 17799 -> 0 bytes card files/tcg_concept_card.psd | Bin 246781 -> 0 bytes card files/tcg_concept_field.png | Bin 42685 -> 0 bytes card files/tcg_concept_field.psd | Bin 1003285 -> 0 bytes card files/untitled.blend | Bin 862444 -> 0 bytes card files/untitled.blend1 | Bin 858404 -> 0 bytes docker-compose.yml | 26 ---- 140 files changed, 228 insertions(+), 1212 deletions(-) delete mode 100644 .idea/.gitignore delete mode 100644 .idea/Online_TCG.iml delete mode 100644 .idea/inspectionProfiles/profiles_settings.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/modules.xml delete mode 100644 .idea/vcs.xml delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json create mode 100644 Game Client/App.py rename {Game_Client/Classes/Game => Game Client/Classes/Engine/Components}/BoardField.py (95%) rename {Game_Client/Classes/System => Game Client/Classes/Engine}/Components/Label.py (100%) create mode 100644 Game Client/Classes/Engine/EventHandler.py rename {Game_Client/Classes/System/Components => Game Client/Classes/Engine}/InputHandler.py (93%) rename {Game Server/Classes/System => Game Client/Classes/Engine}/Logger.py (100%) rename {Game_Client/Classes/System/Network => Game Client/Classes/Engine}/TCPClient.py (91%) create mode 100644 Game Client/Classes/Engine/Utils/StringUtils.py rename {Game_Client/Classes/System/Components => Game Client/Classes/Engine}/Window.py (100%) rename {Game_Client => Game Client}/Classes/Game/Cards/Card.py (100%) rename {Game_Client => Game Client}/Classes/Game/Cards/MonsterCard.py (96%) rename {Game_Client => Game Client}/Classes/Game/Cards/SpellCard.py (95%) rename {Game_Client => Game Client}/Classes/Game/Cards/TrapCard.py (95%) rename {Game_Client/Classes/Game/Events => Game Client/Classes/Game/NetworkEvents}/GameStart.py (89%) rename {Game_Client/Classes/Game/Events => Game Client/Classes/Game/NetworkEvents}/Login.py (91%) rename {Game_Client/Classes/Game/Events => Game Client/Classes/Game/NetworkEvents}/PlaceCard.py (95%) rename {Game_Client => Game Client}/Classes/Game/Player.py (100%) rename {Game_Client => Game Client}/Classes/Game/World.py (85%) create mode 100644 Game Client/main.py delete mode 100644 Game Server/.env delete mode 100644 Game Server/.vscode/settings.json delete mode 100644 Game Server/Assets/Arenas/default.png delete mode 100644 Game Server/Assets/Cards/Arena/field.png delete mode 100644 Game Server/Assets/Cards/MonsterCards/testmonstercard/card.json delete mode 100644 Game Server/Assets/Cards/MonsterCards/testmonstercard/card.png delete mode 100644 Game Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png delete mode 100644 Game Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json delete mode 100644 Game Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png delete mode 100644 Game Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json delete mode 100644 Game Server/Classes/Game/Player.py delete mode 100644 Game Server/Classes/Game/__pycache__/Player.cpython-311.pyc delete mode 100644 Game Server/Classes/Game/__pycache__/Player.cpython-312.pyc delete mode 100644 Game Server/Classes/System/GameManager.py delete mode 100644 Game Server/Classes/System/Network/EventHandler.py delete mode 100644 Game Server/Classes/System/Network/NetworkManger.py delete mode 100644 Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc delete mode 100644 Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc delete mode 100644 Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc delete mode 100644 Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc delete mode 100644 Game Server/Classes/System/PlayerManager.py delete mode 100644 Game Server/Classes/System/QueueManager.py delete mode 100644 Game Server/Classes/System/Server.py delete mode 100644 Game Server/Classes/System/World.py delete mode 100644 Game Server/Classes/System/__pycache__/GameManager.cpython-311.pyc delete mode 100644 Game Server/Classes/System/__pycache__/GameManager.cpython-312.pyc delete mode 100644 Game Server/Classes/System/__pycache__/Logger.cpython-311.pyc delete mode 100644 Game Server/Classes/System/__pycache__/Logger.cpython-312.pyc delete mode 100644 Game Server/Classes/System/__pycache__/PlayerManager.cpython-311.pyc delete mode 100644 Game Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc delete mode 100644 Game Server/Classes/System/__pycache__/Server.cpython-311.pyc delete mode 100644 Game Server/Classes/System/__pycache__/Server.cpython-312.pyc delete mode 100644 Game Server/Classes/System/__pycache__/World.cpython-311.pyc delete mode 100644 Game Server/Classes/System/__pycache__/World.cpython-312.pyc delete mode 100644 Game Server/index.py delete mode 100644 Game Server/log/sokyhrdv.log delete mode 100644 Game Server/server logic notes.md delete mode 100644 Game_Client/.vscode/settings.json delete mode 100644 Game_Client/Assets/Arenas/default.png delete mode 100644 Game_Client/Assets/Cards/0/field.png delete mode 100644 Game_Client/Assets/Cards/1/card.json delete mode 100644 Game_Client/Assets/Cards/1/card.png delete mode 100644 Game_Client/Assets/Cards/2/artworkjson.png delete mode 100644 Game_Client/Assets/Cards/2/testspellcard.json delete mode 100644 Game_Client/Assets/Cards/3/artworkjson.png delete mode 100644 Game_Client/Assets/Cards/3/testtrapcard.json delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/GameStart.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/GameStart.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/Player.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/Player.cpython-312.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/World.cpython-311.pyc delete mode 100644 Game_Client/Classes/Game/__pycache__/World.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/App.py delete mode 100644 Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/Network/EventHandler.py delete mode 100644 Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/Network/__pycache__/NetworkManager.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/App.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/App.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/Window.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/Window.cpython-312.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/World.cpython-311.pyc delete mode 100644 Game_Client/Classes/System/__pycache__/World.cpython-312.pyc delete mode 100644 Game_Client/main.py delete mode 100644 Online_TCG.code-workspace delete mode 100644 card files/Card_Template.blend1 delete mode 100644 card files/MonsterCard/MonsterCard.blend delete mode 100644 card files/MonsterCard/MonsterCard.blend1 delete mode 100644 card files/MonsterCard/MonsterCard.mtl delete mode 100644 card files/MonsterCard/MonsterCard.obj delete mode 100644 card files/MonsterCard/MonsterCard.png delete mode 100644 card files/MonsterCard/MonsterCard.psd delete mode 100644 card files/TCG_Concept_server_infrastructure.drawio delete mode 100644 card files/Templates/Card_Template.blend delete mode 100644 card files/Templates/Texture Template.psd delete mode 100644 card files/arena _field/Card_Template.blend delete mode 100644 card files/arena _field/Card_Template.blend1 delete mode 100644 card files/arena _field/Card_Template.fbx delete mode 100644 card files/arena _field/Card_Template.mtl delete mode 100644 card files/arena _field/Card_Template.obj delete mode 100644 card files/arena _field/arena_field.png delete mode 100644 card files/arena _field/arena_vield.psd delete mode 100644 card files/tcg_concept_card.png delete mode 100644 card files/tcg_concept_card.psd delete mode 100644 card files/tcg_concept_field.png delete mode 100644 card files/tcg_concept_field.psd delete mode 100644 card files/untitled.blend delete mode 100644 card files/untitled.blend1 delete mode 100644 docker-compose.yml diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/.idea/Online_TCG.iml b/.idea/Online_TCG.iml deleted file mode 100644 index 762c793..0000000 --- a/.idea/Online_TCG.iml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index 1df49cc..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 5693aa2..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index a8b7a75..0000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Python:app", - "type": "python", - "request": "launch", - "program": "Game Client/main.py", - "console": "integratedTerminal", - "justMyCode": true - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index dbb72d1..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "cSpell.ignoreWords": [ - "posx" - ] -} \ No newline at end of file diff --git a/Game Client/App.py b/Game Client/App.py new file mode 100644 index 0000000..31aeebe --- /dev/null +++ b/Game Client/App.py @@ -0,0 +1,66 @@ +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 + + +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.__inputHandler = InputHandler() + self.__eventHandler = EngineEventHandler(self.__inputHandler, self.__world, self.logger, self.__tcpClient) + 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/Game_Client/Classes/Game/BoardField.py b/Game Client/Classes/Engine/Components/BoardField.py similarity index 95% rename from Game_Client/Classes/Game/BoardField.py rename to Game Client/Classes/Engine/Components/BoardField.py index c490fee..414c084 100644 --- a/Game_Client/Classes/Game/BoardField.py +++ b/Game Client/Classes/Engine/Components/BoardField.py @@ -24,7 +24,7 @@ class BoardField(pygame.sprite.Sprite): # Überprüfen des Dateipfads if not os.path.exists(imagePath): - print("Der Dateipfad zur Bilddatei ist ungültig oder die Datei existiert nicht.") + 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() diff --git a/Game_Client/Classes/System/Components/Label.py b/Game Client/Classes/Engine/Components/Label.py similarity index 100% rename from Game_Client/Classes/System/Components/Label.py rename to Game Client/Classes/Engine/Components/Label.py diff --git a/Game Client/Classes/Engine/EventHandler.py b/Game Client/Classes/Engine/EventHandler.py new file mode 100644 index 0000000..b049a8d --- /dev/null +++ b/Game Client/Classes/Engine/EventHandler.py @@ -0,0 +1,105 @@ +import socket + +import pygame +from Classes.Engine.Logger import Logger +from Classes.Engine.TCPClient import TCPClient + +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 + +# 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): + if message["event"] == "login": + pass + elif message["event"] == "startgame": + pass + elif message["event"] == "PlaceCard": + pass + elif message["event"] == "MoveCard": + 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 + __tcpClient:TCPClient + + def __init__(self, inputHandler:InputHandler, world:World, logger:Logger, tcpClient:TCPClient): + 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:list[pygame.Event]): + # 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/Game_Client/Classes/System/Components/InputHandler.py b/Game Client/Classes/Engine/InputHandler.py similarity index 93% rename from Game_Client/Classes/System/Components/InputHandler.py rename to Game Client/Classes/Engine/InputHandler.py index d4dd428..df21df4 100644 --- a/Game_Client/Classes/System/Components/InputHandler.py +++ b/Game Client/Classes/Engine/InputHandler.py @@ -8,6 +8,11 @@ class InputHandler: 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: diff --git a/Game Server/Classes/System/Logger.py b/Game Client/Classes/Engine/Logger.py similarity index 100% rename from Game Server/Classes/System/Logger.py rename to Game Client/Classes/Engine/Logger.py diff --git a/Game_Client/Classes/System/Network/TCPClient.py b/Game Client/Classes/Engine/TCPClient.py similarity index 91% rename from Game_Client/Classes/System/Network/TCPClient.py rename to Game Client/Classes/Engine/TCPClient.py index c1d7354..c75e0af 100644 --- a/Game_Client/Classes/System/Network/TCPClient.py +++ b/Game Client/Classes/Engine/TCPClient.py @@ -2,9 +2,9 @@ import json import socket import threading -from Classes.System.Network.EventHandler import TCPEventHandler +from Classes.Engine.EventHandler import TCPEventHandler from Classes.Game.World import World -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler class TCPClient: def __init__(self, addr: str, port: str, world:World, inputHandler:InputHandler): diff --git a/Game Client/Classes/Engine/Utils/StringUtils.py b/Game Client/Classes/Engine/Utils/StringUtils.py new file mode 100644 index 0000000..e4d02a1 --- /dev/null +++ b/Game Client/Classes/Engine/Utils/StringUtils.py @@ -0,0 +1,11 @@ +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/Game_Client/Classes/System/Components/Window.py b/Game Client/Classes/Engine/Window.py similarity index 100% rename from Game_Client/Classes/System/Components/Window.py rename to Game Client/Classes/Engine/Window.py diff --git a/Game_Client/Classes/Game/Cards/Card.py b/Game Client/Classes/Game/Cards/Card.py similarity index 100% rename from Game_Client/Classes/Game/Cards/Card.py rename to Game Client/Classes/Game/Cards/Card.py diff --git a/Game_Client/Classes/Game/Cards/MonsterCard.py b/Game Client/Classes/Game/Cards/MonsterCard.py similarity index 96% rename from Game_Client/Classes/Game/Cards/MonsterCard.py rename to Game Client/Classes/Game/Cards/MonsterCard.py index 5aa58a7..d73c45c 100644 --- a/Game_Client/Classes/Game/Cards/MonsterCard.py +++ b/Game Client/Classes/Game/Cards/MonsterCard.py @@ -1,7 +1,7 @@ import json import pygame -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler from Classes.Game.Player import Player class MonsterCard(pygame.sprite.Sprite): @@ -9,7 +9,7 @@ class MonsterCard(pygame.sprite.Sprite): __id:int __description:str __attacks = [] - __type:str = "MonsterCard" + __type:str = "Monster" __pos:pygame.Vector2 __dragging:bool = False __offset:pygame.Vector2 = pygame.Vector2(0,0) diff --git a/Game_Client/Classes/Game/Cards/SpellCard.py b/Game Client/Classes/Game/Cards/SpellCard.py similarity index 95% rename from Game_Client/Classes/Game/Cards/SpellCard.py rename to Game Client/Classes/Game/Cards/SpellCard.py index ef31bf2..805ddb5 100644 --- a/Game_Client/Classes/Game/Cards/SpellCard.py +++ b/Game Client/Classes/Game/Cards/SpellCard.py @@ -3,7 +3,7 @@ from typing import Any import pygame -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler class SpellCard(pygame.sprite.Sprite): __name:str @@ -12,7 +12,7 @@ class SpellCard(pygame.sprite.Sprite): __dragging:bool = False __offset:pygame.Vector2 = pygame.Vector2(0,0) __inputHandler: InputHandler - __type:str = "SpellCard" + __type:str = "Effect" image:pygame.image rect:pygame.rect diff --git a/Game_Client/Classes/Game/Cards/TrapCard.py b/Game Client/Classes/Game/Cards/TrapCard.py similarity index 95% rename from Game_Client/Classes/Game/Cards/TrapCard.py rename to Game Client/Classes/Game/Cards/TrapCard.py index 0dce7f6..0faba3d 100644 --- a/Game_Client/Classes/Game/Cards/TrapCard.py +++ b/Game Client/Classes/Game/Cards/TrapCard.py @@ -3,7 +3,7 @@ from typing import Any import pygame -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler class TrapCard(pygame.sprite.Sprite): __name:str @@ -12,7 +12,7 @@ class TrapCard(pygame.sprite.Sprite): __dragging:bool = False __offset:pygame.Vector2 = pygame.Vector2(0,0) __inputHandler: InputHandler - __type:str = "TrapCard" + __type:str = "Effect" image:pygame.image rect:pygame.rect diff --git a/Game_Client/Classes/Game/Events/GameStart.py b/Game Client/Classes/Game/NetworkEvents/GameStart.py similarity index 89% rename from Game_Client/Classes/Game/Events/GameStart.py rename to Game Client/Classes/Game/NetworkEvents/GameStart.py index 29b3bff..450a9ec 100644 --- a/Game_Client/Classes/Game/Events/GameStart.py +++ b/Game Client/Classes/Game/NetworkEvents/GameStart.py @@ -2,7 +2,7 @@ import pygame from Classes.Game.World import World from Classes.Game.Cards.Card import Card from Classes.Game.Player import Player -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler # send from the server to tell the player the game starts diff --git a/Game_Client/Classes/Game/Events/Login.py b/Game Client/Classes/Game/NetworkEvents/Login.py similarity index 91% rename from Game_Client/Classes/Game/Events/Login.py rename to Game Client/Classes/Game/NetworkEvents/Login.py index 1b809b2..cf02e46 100644 --- a/Game_Client/Classes/Game/Events/Login.py +++ b/Game Client/Classes/Game/NetworkEvents/Login.py @@ -1,6 +1,6 @@ import json import pygame -from Classes.System.Network.TCPClient import TCPClient +from Classes.Engine.TCPClient import TCPClient from Classes.Game.World import World from Classes.Game.Player import Player diff --git a/Game_Client/Classes/Game/Events/PlaceCard.py b/Game Client/Classes/Game/NetworkEvents/PlaceCard.py similarity index 95% rename from Game_Client/Classes/Game/Events/PlaceCard.py rename to Game Client/Classes/Game/NetworkEvents/PlaceCard.py index c5729ca..ba66b6e 100644 --- a/Game_Client/Classes/Game/Events/PlaceCard.py +++ b/Game Client/Classes/Game/NetworkEvents/PlaceCard.py @@ -1,6 +1,6 @@ import pygame from Classes.Game.World import World -from Classes.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler # the event the client sends to the server when it places a card def PlaceCard(tcpClient, card): diff --git a/Game_Client/Classes/Game/Player.py b/Game Client/Classes/Game/Player.py similarity index 100% rename from Game_Client/Classes/Game/Player.py rename to Game Client/Classes/Game/Player.py diff --git a/Game_Client/Classes/Game/World.py b/Game Client/Classes/Game/World.py similarity index 85% rename from Game_Client/Classes/Game/World.py rename to Game Client/Classes/Game/World.py index 56212a8..a5fbaae 100644 --- a/Game_Client/Classes/Game/World.py +++ b/Game Client/Classes/Game/World.py @@ -1,10 +1,11 @@ import pygame -from Classes.Game.BoardField import BoardField -from Classes.System.Components.Label import Label +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.System.Components.InputHandler import InputHandler +from Classes.Engine.InputHandler import InputHandler from Classes.Game.Player import Player from Classes.Game.Cards.Card import Card @@ -19,8 +20,12 @@ class World(): __cardWidth:int = 150 __cardHeight:int = 200 __cardOffset:int = 400 + __logger:Logger - def __init__(self, screen:pygame.surface, cardWidth:int=200, cardHeight:int=250, cardOffset:int=400): + 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() @@ -35,7 +40,7 @@ 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 + self.__logger.info("building game world") # presets the y position later passed down to the vector2 eRow1Height = 85 @@ -47,22 +52,19 @@ class World(): eGravePos = pygame.Vector2((self.__cardOffset + ((self.__cardWidth + 10) * 0)), eRow2Height) eNamePos = pygame.Vector2(15, 45) eHPPos = pygame.Vector2(15, 75) - pGravePos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow1Height) pDeckPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow2Height) + self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos)) + self.__labels.append(Label("EnemyName", self.__screen, "Enemy", eNamePos)) + self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, "Assets/Cards/0/field.png", "e-deck")) + self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", eGravePos, "Assets/Cards/0/field.png", "e-grave")) + pNamePos = pygame.Vector2(20, pRow2Height + 195) pHPPos = pygame.Vector2(20, pRow2Height + 225) pManaPos = pygame.Vector2(20, pRow2Height + 255) - - # labeling self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos)) self.__labels.append(Label("PlayerName", self.__screen, "Player", pNamePos)) self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos)) - self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos)) - self.__labels.append(Label("EnemyName", self.__screen, "Enemy", eNamePos)) - - self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, "Assets/Cards/0/field.png", "e-deck")) - self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", eGravePos, "Assets/Cards/0/field.png", "e-grave")) self.__boardFields.append(BoardField("PlayerDeck", "Player", "Deck", pDeckPos, "Assets/Cards/0/field.png", "P-deck")) self.__boardFields.append(BoardField("PlayerGraveyard", "Player", "Grave", pGravePos, "Assets/Cards/0/field.png", "p-grave")) @@ -70,13 +72,13 @@ class World(): for i in range(5): pMonsterPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow1Height) pEffectPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow2Height) + self.__boardFields.append(BoardField("PlayerMonsterField-"+str(i), "Player", "Monster", pMonsterPos, "Assets/Cards/0/field.png", "pm"+str(id))) + self.__boardFields.append(BoardField("PlayerEffectField-"+str(i), "Player", "Effect", pEffectPos, "Assets/Cards/0/field.png", "pe"+str(id))) + eMonsterPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1)), eRow1Height)) eEffectPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1))), eRow2Height) - - self.__boardFields.append(BoardField("PlayerMonsterField-"+str(i), "Player", "MonsterField", pMonsterPos, "Assets/Cards/0/field.png", "pm"+str(id))) - self.__boardFields.append(BoardField("PlayerEffectField-"+str(i), "Player", "EffectField", pEffectPos, "Assets/Cards/0/field.png", "pe"+str(id))) - self.__boardFields.append(BoardField("EnemyMonsterField-"+str(i), "Enemy", "MonsterField", eMonsterPos, "Assets/Cards/0/field.png", "em"+str(id))) - self.__boardFields.append(BoardField("EnemySpellTrapField-"+str(i), "Enemy", "EffectField", eEffectPos, "Assets/Cards/0/field.png", "ee"+str(id))) + self.__boardFields.append(BoardField("EnemyMonsterField-"+str(i), "Enemy", "Monster", eMonsterPos, "Assets/Cards/0/field.png", "em"+str(id))) + self.__boardFields.append(BoardField("EnemySpellTrapField-"+str(i), "Enemy", "Effect", eEffectPos, "Assets/Cards/0/field.png", "ee"+str(id))) def getBoardFields(self) -> list: return self.__boardFields diff --git a/Game Client/main.py b/Game Client/main.py new file mode 100644 index 0000000..e4e3cba --- /dev/null +++ b/Game Client/main.py @@ -0,0 +1,9 @@ +from App import App +from Classes.Engine.Logger import Logger +from Classes.Engine.Utils.StringUtils import StringUtils + +if __name__ == "__main__": + logger = Logger("log/"+StringUtils.get_random_string(8)+".log") + + logger.info("starting game engine") + game = App(logger) \ No newline at end of file diff --git a/Game Server/.env b/Game Server/.env deleted file mode 100644 index 56fba80..0000000 --- a/Game 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/Game Server/.vscode/settings.json b/Game Server/.vscode/settings.json deleted file mode 100644 index 1341321..0000000 --- a/Game 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/Game Server/Assets/Arenas/default.png b/Game Server/Assets/Arenas/default.png deleted file mode 100644 index ba5da22ccc75f0be2ff44b31e702347d8e45ddc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10988 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 diff --git a/Game Server/Assets/Cards/MonsterCards/testmonstercard/card.json b/Game Server/Assets/Cards/MonsterCards/testmonstercard/card.json deleted file mode 100644 index 0df2ece..0000000 --- a/Game 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/Game Server/Assets/Cards/MonsterCards/testmonstercard/card.png b/Game Server/Assets/Cards/MonsterCards/testmonstercard/card.png deleted file mode 100644 index 320d60d34af39518b06c3adcf397345b883d202c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9570 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 diff --git a/Game Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png b/Game Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png deleted file mode 100644 index 9955a0cbf1966ebc0956bef3cc107754ed7011da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> diff --git a/Game Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json b/Game Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json deleted file mode 100644 index 51d4083..0000000 --- a/Game 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/Game Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png b/Game Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png deleted file mode 100644 index 9955a0cbf1966ebc0956bef3cc107754ed7011da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> diff --git a/Game Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json b/Game Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json deleted file mode 100644 index 6d1cd5a..0000000 --- a/Game 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/Game Server/Classes/Game/Player.py b/Game Server/Classes/Game/Player.py deleted file mode 100644 index 0b39b40..0000000 --- a/Game Server/Classes/Game/Player.py +++ /dev/null @@ -1,56 +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.__name = name - self.__handCards = [] - self.__deck = deck - self.__id = random.randint(3, 99999) - - 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/Game Server/Classes/Game/__pycache__/Player.cpython-311.pyc b/Game Server/Classes/Game/__pycache__/Player.cpython-311.pyc deleted file mode 100644 index 85b3540e101df279ef58c7425e4ca85cd250e80e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3460 zcmcIm&2JM&6rc63?M?g@5@V7$G*(Ga-9lSh)K(PHk3=MZ>LLX$sil?W*?@z+PG=n? zQXh;IRXK2=5>j$%eW)mif1rOuPfiu7)=HduDYsPVq2kov8?QHOV^b zGvi-kv0;XG^0Ob!i6CQt64Py(3l81_*k+t@rOcLDfGsc{*koLN7+~xP{yS}1;mQ)r zYR`zx6{$3H&|D|DP8sk1Lvi>9soxxWvg}53vSihpDR4jTOe2ya+jc( z5D+!@j5aC#^u5BeVL^jJCqf$vDoiIN;ApktgsCrCH9`AlgN|mK+7{YjX?v1w=KoWQyCS$j_Avwr$!{ zmha@}-L*T8jwD&7nqh1tTwzy0+U<`(8myg6ZE5$0+Nnu&k#_p{mbRylyX@2CFBJC1sV82!28)i*f6n8Ch z`4r|IPnkcl&}Du1D+|J>#j6|9 zLk}0PPGNhWe|K8?ct@p|cuXKH!#V@d8`iqA0U3@PXs1y*$WRNKoejtWkcY;meKKwt z=moyIZj(LTTJH*`G0UbZpjsb)aH$#iA=fSB*9iwwP6zdclv6k^&HKY~Y5q-`c#_EL z#a-Se{c)$-TEv~=Pcred&|^nHWNqywrd#^-Yw8V?$%FKMg^Sp)mw0+(eZ}=knN|iJ zD)An6bTjRQ3YF@*RqIK1xWIXjB`*IC*4Y$kL_m+;i`-w?)u&qeRPRyq8|d9z^H|ke zicRl!!jRYMO7G1z&;i&^nSLGhrN5=9d)g0_t^43M_QPb>TR>@#i#vV#5>~`MYSTMebkM1 zub5uMK_ORn^_e|=rlrsHhCBy-bl~K#mTZz9T>9l=7|yU^RH}TvOgL&7->w(R?ud$? z0#3p(3YJx^6>6obWn+$N*My^$OX%o{5Oj|Uy14{ZfS{u-h@ zt~9RPy|S+bgQxcy$j+SXnp}2|Y}x%{X`E0GflXMuAk`Gf9Gt! z8mToztK^26M}rr88_K&~CKqK$zm+=KzDS5JL0JLM_4A!VydV}JqdU$19AsZr6s65# W4f*Yd&ML6-Me;Yv{uwYJHT(xnTfch% diff --git a/Game Server/Classes/Game/__pycache__/Player.cpython-312.pyc b/Game Server/Classes/Game/__pycache__/Player.cpython-312.pyc deleted file mode 100644 index 2da2dbac598e88b67ae05002c0423b4ca7d6b69f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3265 zcmcgu%WoS+7@vLF>-d!>Zg3vOhO~f1DQc;BR0V_*+JuLR)b`?9TCF^j)~US?vrZ+a zK2&NzsRU|sa!z1QH0nRV|G=fCMGZ@DTuwH)YqNAT^|%`T&`H$rZUY z;xXO70JI1r1&NY^e14L zNe}M@JnY$w0p3HO6X&G?kI-@O2+vpP1n{Gc$=p6Cv`{e{j5|@o1%^?k0p|R&6YpuN zrey|L%d9eIq^CV^T6D(b)DD^B9h3i;Xw$tn2<6O4t9R1H}j%u^YB9Ee73`rbG0*H+USsagMXO0!m*o@o7Q+38J z7H64#pQZMPC@J5p?`S;Kl!F+Q&2v377CkgjBng*QZM!y zgm7gyE{HDN$%Q;L%xb^|E*8p`#!z~4$1~w;)J`oqp#{IHhx9BEaTCveH|6ce4 zOofddhxa1gn%|gj%Nu#@``sl7S_3cl6Rm*>nx73OXnyuZG(3Q0w>1%O(O^xm8|UCf z3bq3Bc%qHZkm$yH$;|C!=9Zq>wG&~CWG5#+g*QFu1oE$-@#B8nu_4|Dn`bwK^z3`e z55W#zb2uThT3fN|ef<$ODed#l<6nh!Hr{kdksiAiy&Ao~_>(?0czJ_fV+)HmUI6ek zub0qbU^FHFQT&%^AP}rG1hTx$Eb7Olmhi(G?E1(Dl%B4M(hqwVvL|^RcCfMWL}d5$ z^ld$TPtV-eGi~@99DoS>8^TfX+g%DqidaNC0stb#Z!jQt_}3CM=wHjX0QWf|6>z@c2*3Fq|R7sMhF81#!$UK3_2_o<@Pc9!}CQOv|d( z&3d_J*fi6*Xmv@OVR>W-S)jwY{s{D-P(uWinB2uy7%rW>}HekgTO z_%I=9M>-)%o7_xw2}~{??cwq3HsW!VPj60l08h84Q8bOBpgQYrk?r3?)+XDq9ZVfv z*0OCl2BwZKY1z%AxDVK)e6)k|8>v5W5-+2O6}kYw8E)_&BEpwjB;=8P+^x%d`~=AG Z?}UvPq@zfZ^ec(~9Xcvy9}*y9%|A*bbZGzp diff --git a/Game Server/Classes/System/GameManager.py b/Game Server/Classes/System/GameManager.py deleted file mode 100644 index a4927b2..0000000 --- a/Game Server/Classes/System/GameManager.py +++ /dev/null @@ -1,103 +0,0 @@ -import json -import socket -from Classes.Game.Player import Player - - -class GameManager: - __players:dict - __playingPlayer:Player - __state:str - __round:str - - def __init__(self, logger): - self.__players = {} - self.__playingPlayer = None - self.__state = "waiting" - self.__round = "none" - self.logger = logger - pass - - def getLogger(self): - return self.logger - - # 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" - - print("game starts") - for userAddr in self.__users.keys(): - try: - user = self.__serverWorld.getPlayers[userAddr]["player"] - user.addMana(1000) - user.adjustHP(1000) - user.shuffleDeck() - cards = user.getDeck() - user.setHand(cards[:5]) - - payload = { - "event":"startgame", - "playermana": user.getMana(), - "playerhp": user.getHP(), - "playername": user.getName(), - "hand": user.getHand() - } - - tcpSocket.send(json.dumps(payload).encode()) - except Exception as e: - self.logger.error(f"failed to start game due to error: {e}") - break - # handles notifying all players that the game starts - pass - - 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) -> dict: - - self.logger.info(f"creating user with id: {player.getID}") - self.__players[clientAddr] = { - "player": player, - "socket":socket - } - self.logger.info(f"new length of user dictionary: {len(self.__players)}") - - # counts participating players and starts the game if enough have joined - if len(self.__players) == 2: - self.logger.info("2 players have join game starts") - self.startGame(socket) - - return self.__players \ No newline at end of file diff --git a/Game Server/Classes/System/Network/EventHandler.py b/Game Server/Classes/System/Network/EventHandler.py deleted file mode 100644 index a9cd090..0000000 --- a/Game Server/Classes/System/Network/EventHandler.py +++ /dev/null @@ -1,31 +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": - 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/Game Server/Classes/System/Network/NetworkManger.py b/Game Server/Classes/System/Network/NetworkManger.py deleted file mode 100644 index ab950bf..0000000 --- a/Game Server/Classes/System/Network/NetworkManger.py +++ /dev/null @@ -1,140 +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) - self.__gameManager.getLogger().info(f"connected users {len(self.__gameManager.getPlayers())}") - - self.__gameManager.getLogger().info(f"confirming login for user") - self.send({ - "event":"loginresponse", - "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.") - 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/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc b/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc deleted file mode 100644 index 5a17f8e6f151ab204bfcba933c1fbe83db5e446b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1722 zcmaJ>&ube;6rNe_N+U~Ksc}fsxW-CI+K3PxVnLw<8{-D|5UZh1NKizVWoM)a?GI;m ztzu(}4>{zJLvA*dLJq~H_~K*#jI}UC?5WUGZz}F7r@on$Huk#h)9B5c?|Zv5@9lf@ zi>^;0koxS;?6(X;e~86I)Uk2$0E}Hk5yduYidnI-qcjyP?2Mgp)TSzJ)z+MBGmDXe zRuI)*BAVS-5ITT=EX^FnYp9z0Q!E=*9AzKc<|gA{6;@1#t(vackxT7~$8BnjpOX`u zPs+(%n066EO-xZ!d5llqxLKR%qs>+SI7ZvS4dq=V(^!8kHU`KfK>(Zt%6~ zQk(H;#z-NC5m@VMp4DSPl=bCoC8viCge}f-auL)n+Q!?+04o-XU>6KwaRNY9iBzB2 zZJvjPFCMH^-alIYvh~#c8GyX!JI%}Pt;p|Zw!pYhhRZTda~ z=S@FgPOHI!?>*jYosOZlz8Mk2=(^p&Ft)Cw;;BuTf;dDO)D9ZXTzjP+lPjSdCxD@- z(D{&kYx3a*BWxLP8Owl`w*oyU`+yuI=v(kTFBEU%AJI?BKClOg2Zkh4<&(snW_mK= z9J`GaqbAH!iqR6Lo?@~I^LdKNCCt?nLlQ<$G5HCThth|SJ=NGMbzRGIoUYqpqOvNH zCg&&*m2I(QlhcT-di~g%`j$C~y%Yqd)sr5@*p8bay0Byg-M$&H`|UQf0_ib5!B#yN zYJm$7DlFe&!2_=YJrk*2x9wF`F1|GXSf~=HC}&d2neY4JOIAR5QNX3=vIQpP;&07O z%yDnjQV!x}{vjwRATs@q%nr!x5t%zCbMMHF0l5+0TsYhS1>=Y;9+Sn8EDj6hH8 z>^&P4ZiR(g!(w@;UwHGy>+klq26{ErtEZ6dfqpyGZ~rgy!$7|i>UTc)gmd!)eLmFZ zPeb*AUJv!UfJpI`%0GfbH>yN*i3?S37}1nrI3C@wgGqP8sl3|#x>jh@e zg=8BB*WnFZQ^LRDf7s40u@TMy#Ex`&Z*z9d?{4LI8rZ-RIFX!YmX32X+_GK zemFBiF#V^BHx*k|Nqo-f@%2y>S4J%^9xj?Sx;kOvi$gk$?^YQ{bTQ>1Z(FXxvvEY% zge4LuqkK>9#ray`Hvtp9>-Ry8G8p3_(s$%RK@?8G_kSnaS diff --git a/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/Game Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc deleted file mode 100644 index fc97bd5e938289e59a673294dae3d6d2b004b7fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1503 zcmZvc&ube;6vt;)yQ|fYwH&*3ez?X;NkW!VQ5r*`1ef3h_fWf`PAI6N!?H6{6|HvN z*|my{X?sYax#eas!+(O@6Br6RA>%wzVn$kvv1zK z*`IB@NT98){3ssf2>BfcS<@$Cd=tbW;e=D4)Unrm+STeBMV<3=UA?X=t@}pTtecc* zWRq~?KH=uEmhMu|_oxB4<_jAFb1=8zoF1H#k8ZV!qw%boE#@azUW^Di5)M;wjObLU)`~8{>moI*+|7x8Z!-yoM)_*zovTMc} z)asxE5O7fK9!32Bc03v0%P!`nX-*I5cjSBRc(RT{vbc60Jb12il@O^FAYrFWpTUe7 z%$&jUGnh4l6%?cRU8lIcUug$k*zLB1mcW{*CWh*h0#u|YHeAUQYb)%fs`!!Up6VNM z?0OyLQBHMQ#L2=9FK+kTSlnthg%>N2#f)u*0oU%C!V{^8jN>qnmqN>_*F`OyVZut(>~+~UJ`9(;PVKd>F7 zOGsbM=)u5#1L*?NGt+bqsh!a;2lkujTSQuz(8sIS2KF_?CSv0huMO-qz(cDn=OFlP z$HGbvpk5hEii~wbzUQMZGxqtO>!&m7y(JaK+#m>JH*Q1H8Iv~bATf{fH84LBwWZ3Z z%p*mE&o-)p`GySVm!9fNBb^$rA2r7Wx{)<+*eA<>6X?>#xWuv2?=4QAY7L)nEiDF# zk0QB{&7_Z5IZXa>DxTz(DF^k}lLo9!BfE$S6QH7fVO>wpy)G{U!?zVJgBj&0rN0sT WIl1zjy!{8c@{f6z+J6x+YVp6>{eH0k diff --git a/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc b/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc deleted file mode 100644 index 30891a1551b0befa9d92e05566305b1eb0cd89b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11033 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 Od_mH`e?=}?iT?x36Ll>B diff --git a/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc b/Game Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc deleted file mode 100644 index 4845ff9545cdc4ecba8a687f01386bd5ad7f1877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10000 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 diff --git a/Game Server/Classes/System/PlayerManager.py b/Game Server/Classes/System/PlayerManager.py deleted file mode 100644 index e149622..0000000 --- a/Game 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/Game Server/Classes/System/QueueManager.py b/Game Server/Classes/System/QueueManager.py deleted file mode 100644 index d0b3adf..0000000 --- a/Game Server/Classes/System/QueueManager.py +++ /dev/null @@ -1,32 +0,0 @@ -from Classes.Objects.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/Game Server/Classes/System/Server.py b/Game Server/Classes/System/Server.py deleted file mode 100644 index c3485db..0000000 --- a/Game 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/Game Server/Classes/System/World.py b/Game Server/Classes/System/World.py deleted file mode 100644 index f6b2957..0000000 --- a/Game 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/Game Server/Classes/System/__pycache__/GameManager.cpython-311.pyc b/Game Server/Classes/System/__pycache__/GameManager.cpython-311.pyc deleted file mode 100644 index 80b11c49d2f459c7f9ff9102f01cbe8169a39f48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4486 zcma)9U1%HG6}}_Qj7QSQp2YwEiXCi=EG}_E*iF32CUHo%cGaX#Xk)w;s^;2}Esxxp zaU8pH@Infv7-~Yn*{zq=hL9i9(tX&6eQ2RCfj&xRz+#{fD5cGtmUJQHsps60Mv~>g zUPPY*nb)JhY!j8JT#`&VH8;gU+mrMx zc&EG^@sP_z_1+^Y|JXywbND%BidVTw5*A)zGZN-(@oF-*LiKpDpH*V9@j4C6HlYOP zp7Puv)JtJJu1*EuJd6{8^ST_5oGRQSQ+28cR8s4J`c#SfXFRI!9zPXO{UDLm0QG`I z21!s2QbDb!ekK#u29VXO3heWc9k?7@pg)Oev019y&C!ZhG`h&PZrGi*;)FKq7-lzC zcN%8Qr2B<>YDrV$u9Lt5fpdzAEzWIm&~nGB9%$i6R?^s4IyN{c zFv%OS>y~2)6Lx6xT1ul~K}Uz{bx0&6J|MQ3OwEGLVUNulG&!ROL1^GIq0rm$i>Ie= z7*sc=CrwIkPmfV!-b^h{|5QsRG#b5r@$xh}Dl|#;+f<*vn2Z?)1?3gPqzkO8=+WWD z69vb=!t>qA-w^p?VF|M1ark|bLIYA zaT5-}O9LBhXx#iwR_f3XL9=Ro0R(LQhrm>?uabFoUV1m|%H8uA`J`zLPOrSrG*{HC zW2Xx9IAyb08!&PHVlnX`i=}eL$1wMEcmC=YL`i7~ixRyNnql6F35*U16?(_C`Gkof z!JK4^#rSuE!tqvcQBTe4)G&UAA-&pO>9MM=E|}E#6_9mO5Q(fYnPjG~hEivENYBdf%J+<3-Jll9Yf9&|ynAJ4&rXYaI_Yyfe^k@F*^*{YGH#BMu zjpq74wE92X7_;P1K_b532G35z_L=d;$y9uvnpGDKoy893Etmm04KECcoMN(rad_2J z?J^F72u)`tQ=wUs5%L(==WcV1Y;m7_yyo%YNcU3Cxks1ww7a^hx6H43)80%eC%PKQ zKz6M8C^C7KTB#u&5_s z>V4?BgrH;d^K`|q+xG!0!VE088%%XdgN zt`t0t!Ipe$r_~y^T2Frc3#;|)w|A`8D_eYCY1)?W%MY&Sls-%8%PM^+3EmGrP;*MZ zrSxZ&evs@bp%TB} zR-X>$dPl6@k-gpzc6&d_^`5bM&*YR*OBu~7qrklRXJZ$FNlTf)w*C;XTk%0yO~$SciTLh17c3ZhL5)()r`ZQ$^4#*|B<=Y{CM^uF*y>ArMAcyU4i zz6$ygav8#iz~HNSk}!CEMs)Uc!2aS}Lo(nM#SXdZDO8gF7&Hw`#tbvd&?f5CT++3J zS3T&#e>|#Z2Ohd}F6ySe`0fXZJKsBI_nH-GRyjj;4nAnz zA2w3u=h>@3|IrWF%|5KaH$}#M54fhFWi=VSa_^A8#mH)FT&FR7*M~5zgq9QLtx!UR zlSqHq6btxj>H< z=*b+}4fJON{drm09N&|>cIB>Y_t~6$&XUh%<#QnZedKqM2d8p!pC$KY<-V8jSHQg< zk#Gb4%|R%PMs0sIx{y+rlE}-^=&zSz$zl(WCt){4qcKfO!5>996eAkdG0JVPVd^?w zW*vcF??8el%ABpAM-FeUK91xgB={s@{?#$07{S|U4Bz3{j8B$|yrvKxzkL5DG|4LhO6-0HaIBUE(V z^;Q~n&gZN?2_2ZF3<{*+^|v6#I1Y?Cn109P|9eL-+s6L^ DAC%#W diff --git a/Game Server/Classes/System/__pycache__/GameManager.cpython-312.pyc b/Game Server/Classes/System/__pycache__/GameManager.cpython-312.pyc deleted file mode 100644 index 963cabf859066f1de879a492cfec478ba7456afc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4142 zcmb6cTWB2D_0I0hX!faf^jN($mQ>q=jUcXZ8%K5HTE=eWDsE-dS}0kTohx})t6BBV z$g(yoV@L`T7%YEDj$N#fLTp^9^VPHznvWC;{n17WS|%+RT1fr3kqj;FPtUotvoFh~ zy|DM5d(OG{o;mORb138|Ftom3(yzjV{0%qm5KF-BF#uMHPIMtn#+_9d7hvy6duF`j zUV(VXS)zO2Bf9v=|5X|tOJV3kmUcaD255$dI) zE(`&dN&tB{Bm?9vLn1=D^d1>+&}Envy#Z#Qu2BD^NB6xajt6u%SH%$yjr zD7`u{OwDO4GduC7kxm*kcJcJt2~?9hM%h)$CQhg0rb&T$!L;ZMCzbR$IJ;mgu~^bb zTCrHRxk|T#E;fkoYB1d(h4#)R@n*Qt+rK1kDP4uA3fo{I+Rc~NE?5EuCAbUBBvIB5 zY!K$U>;PaDbeDp)evFZa0(c|;(1!v8hbJZ;R9Pd;wr`4B=ebI%LOX4zuWLZ{*C zv*l8JIBw(UF*M6EQ;eGCkJ06`?bW)hA$7r}=36k`AVrx3Bin)Ae4uyz*yn+Rg^r&4 zgLejZh$nP(MJ_Z&x0?>;n+`rWzS;C@;qa>~!(TKXDoQ{sMu;!;%tr2YEc0qH<0bK60>8O#5A>PVh}aNZS_8U0VFw$B|tgDD#w`aadjl1 zZ9k)^!EMP=DaD4&bk5Vwq!w& z%9}zbt{Zh6=&E(Ym66|o7OxvFeNluLTIz_f&52M5qz+P%M3;dx`XZ-$6HxJ^>P8i{ zvyKGYDr)!3sd~dbX;I1vsoocPto<%7)#pN$H7B|9r@m3ax{&+2%OjARPchQ^iFLr` z8Gu+`l)=7-Tufz69j?GGq$@f3F8M{3UtNZrzbIdq1-RLP=7o83&3l>53z`pdI-4^L z$m!X@6lPv1GR!g=sxtWxaMY(5_O_3skwKGeiC(3KW&52Noq+;pD-L{R*2NmYYKvFm z5UBl=@no9ns+DmrSNS{o97POeEW=KyS}QLgwlvFi_>($wA<@yA}XZF_!S6n4k%~9C#KAdVN3el%&ck4)JSA>YWvPyOVC*>nK5`302SePX$?G^G4woJ z!LK-_>&zArvZX|v=^*HAd?B5Q>$X5mjCIu+rP9IGj)|_ebd=G9aKdbXXob?@6t%xA zp`{tDacy1qgLi`4ZCbuf+iW|$Lz;c9OXrH7rci4k+PNLo@=6bzOvE)iFRMdYWQ~eo^?Na zC;Q;wX7ADM-q-TIuWk0e{zYV{*bj0Sk3hox7o_9nZcN>+_-x>IU^}uuAKAY#aQ08a zr{+fA$X4Y1Um`6}l;FRMKHz$8wt;#+K0Pqp=J~A6cg8P$w!i0$B>hp60IsR6z~|&^ zOu?&em3l}Rug#bZOT}C(>0LpWgSMU zT)lw1G@!l-dsVO6OaxtpNB7)=E;EHM)s37Nn{S}i;c>g?n_dgsO+NO%(ao#1Qv9!{ zba5JTE<5snNL0@DyqX7G=_+fkDlhLX^BB?O(QGuqXdD}D6;p*epR}&1NgdLphZ~O# z!Z$pj{$I9oWOKE>uK+j~@XaK@>33ouVhCOZNY1^MjC!qvjHZ#$IFlRX#%MW?CHJ#q9`G-Tx5CTe zm26(==If&yC*Is>zp$nJ=ovJAjZ4-o@cYd`&-(t)1O0_y zr>s=Kkqgo^W!N58ei`o8IY$l`6r4bIs zVn3UUr%MzORc<%NVsXRBz#lZwz8Q-#3=-RGT8u>iV%Xs@jC5`~u2pslw-~}~1gAG} z!cK}Sl40596NU=!W`9l!;aA=rEi`v*iXDYu{I_x4nR97NnlF;avht(I1w2*5x9B<-t|He5yago%1q23jgYk;oInAc2nse*dQjE zLC3KC+Z_4cK*qAn&y^uZNhjGD5HQ1;_{~MHAP8TQz?UTSS90K=a$FF4b_mY=?0*0% CA$EWO diff --git a/Game Server/Classes/System/__pycache__/Logger.cpython-311.pyc b/Game Server/Classes/System/__pycache__/Logger.cpython-311.pyc deleted file mode 100644 index 70bc9f689578a93e5b5d5b0697d98ce33a9891d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1309 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 Bg*pHL diff --git a/Game Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc b/Game Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc deleted file mode 100644 index fccebea8669ba88767de10ed22a5b84b7527773e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1739 zcmcIk&rcIU6n?Y2U6yvCisCP7EC!MFVB(KNB}5O9kQhW0@Y2+5n(knLQgCJ=DXGyI z4-!pKFZ5(Qc!2PycoB(_tlm6%tJcKClkd%Lffl{#OZw*9Z{Ezj_syHWZEK4ITJN=2 zoNEAI=%a2%1ZrsnE8v003XlN}hQZSwgQu_K3bG6>t8Lc=|bj1gfy!ZG9x#3u4Bh+_(y+(O)fxD|Pdu@J{gtxh~JZxwPSE&^j-a*?l} zNEztSuhy?lFT)hEO*TbQO;%>>ETkBeV2zDBTF~x>=eRDNBLg!xH^+$q?hj|r?of0~wS(v$!j@$(+e`LGt82sRstkRw zx@*WogD55vRC4VRx)nfCqEhj5+se#iNAasJg9p=n0HP10cMBZFPf_hn=C{;|=Dq5B zlC&jow9&vKMT;niV+1XCxle@(3)hQQa#Wz8E{)_BHW6*;{-6dOE3cqKH4@3?fu(_p zQORr^>Dx>=tK;tz=eF#9%Ogu8AMFzx_K7#B}GND^(rr^CF3>8zlQj zeIzKiHBD6(n1avD;^jBj6~x1dhRfce61atEC-+~o6x2_9aubJ;-PU|3DV5K5QdF8h zFN*oyeMMMx-7y5J>u_wgF;EgYOi6?TRV!&}THSeIMa>}>lhHG%6Z{(}-(a|{-5~C|Gqc`&fw1km_vUkjXvUb5vqkk_#Bn@DU1Ok2AOAB8lQ__w z2uf@%Y^(5rsb@!yUc9`H?lDvi7CTw-YJfx4)MEXFaj06v=Oexmrz$dqNOI0rX z031~M>S3c=-MDr5$a@G;W2+2)Sp#7~SH&shs1GD%S=AY1pCIv5>tw0#fKILX4Z^)j A5&!@I diff --git a/Game Server/Classes/System/__pycache__/Server.cpython-311.pyc b/Game Server/Classes/System/__pycache__/Server.cpython-311.pyc deleted file mode 100644 index 760f0018f6822e31eecd21f9e1e63268a96e57c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2529 zcma)8O=#mr6duX4Jh2_;ck{P#(b9Aq(`|NXlLpGNJ)|_3CS6Fk1!E8SAWR zqUKeB6*Ezxc`9(+?5ia6Nr6=}RY~X55|PO=F%n0_peHgRXYlwf-)~53B-i&B4p(!M zms&1X*h)OLSOV|>;FK{4?>6MAYm7f;+#A$=pzB4$;LNtWB+mNw!zy>WBs+#L$%L!G5vJjd zhU3kStGtXAag>(`wnzk)6M;e1^xXw%5VjZ~d@g4tbXQHP5j|AaWEg?mZ?zbV!T>sn zKu*XBz_V}&vx3ATH3dfDel@Zc;$t;j&;<P!|{^T}i+eMBlr>co*nk^C` zm*jXEc?wAy2|9uIBN+kWDJ5&8$}t{1gX5G~?I%wz?kP4iH~1i`hmZ^-!G$)uRm1k` zqowx?k6=5yu;wuKxbPvf%T9H>@QG!XET(_Dv|PZOrujw-OJ>ow8BE@@9abs$(z)$D zkLr5KDml8oKhPEif*ZKu5s*XDoYbBuPcu<=K0f`;?zg+3NH@o(fu$~J`f2JVo%n-J zxRdYJ>3oCEyLA3MJ9|1-&)#cf?>$i(bSg4!zD^e!bit(yO`7)CJ|AsNzE!7p8uX4E z^h-Dg_^IngtcNKI8uYJ7@2>$sdXp{Semf46ERZ0-CIQ2gCAc1~i3Yfn=3R+hlTJW> z)}_g4E>p=AC=VU&P({BQ?(FvNyCr~g3 zWPi9F#jcEc9VcRWgFtpi=)F2!Y|urQE}m<1r_PTDFPxtbesg|5aP_UaR&Hoz3|H0_ zolk)QPvy+n;nsS$PZ0~>W5Py#4_8QnqR+FS0fxu6ak_tCZ)lS_(fYqX(LVka&6~Iu zFBH7Qz(`|Y#-%gjOslyxCb0#{uIpY>*DF@T%PoTZ8cL=38^;e? z1lWHP|IP4yav4wAva6P-+STUO{iPXNve2AOhvx=u!Fq3%H1y2+eIU&qdK%+;*eANoL(>Zz)*` QB65}djk15PQHU4%7dxY31poj5 diff --git a/Game Server/Classes/System/__pycache__/Server.cpython-312.pyc b/Game Server/Classes/System/__pycache__/Server.cpython-312.pyc deleted file mode 100644 index 7700f6370bb88b162f56b69c89b85f4ae5dd62b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2281 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 diff --git a/Game Server/index.py b/Game Server/index.py deleted file mode 100644 index d06c09f..0000000 --- a/Game Server/index.py +++ /dev/null @@ -1,30 +0,0 @@ -import logging -import os -import random -import string -import sys - -from Classes.System.Server import Server -from Classes.System.Logger import Logger - -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("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/Game Server/log/sokyhrdv.log b/Game Server/log/sokyhrdv.log deleted file mode 100644 index 5735db2..0000000 --- a/Game Server/log/sokyhrdv.log +++ /dev/null @@ -1,29 +0,0 @@ -19:08:13,964 root INFO starting up server -19:08:13,964 root INFO starting up game manager -19:08:13,965 root INFO preparing to start server -19:08:13,965 root INFO starting up network manager -19:08:13,965 root INFO starting up network manager -19:08:13,965 root INFO starting up tcp server -19:08:13,967 root INFO starting up thread for client socket accepting -19:08:18,567 root INFO Connected with ('127.0.0.1', 54324) -19:08:18,567 root INFO starting client handler thread for client at address ('127.0.0.1', 54324) -19:08:18,580 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]} -19:08:18,588 root INFO user in message None -19:08:18,588 root INFO user logging in -19:08:18,589 root INFO task passed off to gameManager -19:08:18,589 root INFO creating user with id: > -19:08:18,589 root INFO new length of user dictionary: 1 -19:08:18,589 root INFO connected users 1 -19:08:18,589 root INFO confirming login for user -19:08:18,590 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]} -19:08:18,590 root INFO Received message from ('127.0.0.1', 54324): {"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]} -19:10:33,867 root ERROR Connection with ('127.0.0.1', 54324) forcibly closed by remote host. -19:10:36,58 root INFO Connected with ('127.0.0.1', 54355) -19:10:36,58 root INFO starting client handler thread for client at address ('127.0.0.1', 54355) -19:10:36,60 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]} -19:10:36,60 root INFO user in message None -19:10:36,60 root INFO user logging in -19:10:36,62 root INFO task passed off to gameManager -19:10:36,63 root INFO creating user with id: > -19:10:36,63 root INFO new length of user dictionary: 2 -19:10:36,63 root INFO 2 players have join game starts diff --git a/Game Server/server logic notes.md b/Game Server/server logic notes.md deleted file mode 100644 index 7370d4a..0000000 --- a/Game 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 diff --git a/Game_Client/.vscode/settings.json b/Game_Client/.vscode/settings.json deleted file mode 100644 index 6b1a4ea..0000000 --- a/Game_Client/.vscode/settings.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "cSpell.words": [ - "pygame", - "yvel" - ], - "cSpell.ignoreWords": [ - "activateeffectcard", - "activatemonstereffect", - "attackcard", - "attackplayer", - "movecard", - "placecard", - "removecard" - ] -} \ No newline at end of file diff --git a/Game_Client/Assets/Arenas/default.png b/Game_Client/Assets/Arenas/default.png deleted file mode 100644 index ba5da22ccc75f0be2ff44b31e702347d8e45ddc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10988 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 diff --git a/Game_Client/Assets/Cards/1/card.json b/Game_Client/Assets/Cards/1/card.json deleted file mode 100644 index 3ce8af5..0000000 --- a/Game_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/Game_Client/Assets/Cards/1/card.png b/Game_Client/Assets/Cards/1/card.png deleted file mode 100644 index 320d60d34af39518b06c3adcf397345b883d202c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9570 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 diff --git a/Game_Client/Assets/Cards/2/artworkjson.png b/Game_Client/Assets/Cards/2/artworkjson.png deleted file mode 100644 index 9955a0cbf1966ebc0956bef3cc107754ed7011da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> diff --git a/Game_Client/Assets/Cards/2/testspellcard.json b/Game_Client/Assets/Cards/2/testspellcard.json deleted file mode 100644 index f812019..0000000 --- a/Game_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/Game_Client/Assets/Cards/3/artworkjson.png b/Game_Client/Assets/Cards/3/artworkjson.png deleted file mode 100644 index 9955a0cbf1966ebc0956bef3cc107754ed7011da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> diff --git a/Game_Client/Assets/Cards/3/testtrapcard.json b/Game_Client/Assets/Cards/3/testtrapcard.json deleted file mode 100644 index 13ed51a..0000000 --- a/Game_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/Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc deleted file mode 100644 index 512380d69be46b648ed4e1e184934f6634e47cc6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6048 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 kIvq$C$G zw1Q^NW#-JcXXcza%fGwb4g$}}*dOI(p#Fu7`Pd9%BL&0*A`yv8lc?TvQ4V-Z+OlAc zS~-+i)BJ)hYU7B7oF)=~he$S=OSw#An|-Q%lQyX*R-KB9c`hRS2bt*zr@5vwxkdF% zJR_xL3cPS39nZ@&VNSzdG?)#+f+%Hz$fA}Hh-{U4iF+H=vJEH;qfll=YMw*|iI29i zQ8uO%Q(cCwrVhpnsFm8H4%rEuh@6GUJC2s@lKlzbz$fb3c?{Tau=U(PIT_Usl#5Y_ z&&?PLz7?@X=1mbB9E`q+V#d zr9Rm@XOX-h?*V#81fcH+y+;~=8NHGZ+CIq-tyc;_+b;#79e~+37&!RLu$tX<}RfOA|>L*ggZ>?-8t0Rc6t8QW+Z0;c@}%rr z1i%)FX^|tU)6~P-)&ejRZ$`nJL?lQ8js#gF7Zrt+4@b5>Qd^U?MviLo)(-KQ>S(or9QZ&) zADGrs;q7Cd7$QK`uuvpBMSN=b|ITh?tfCccHT(m%dbiI5>E7+qSdS?y3Xmzmd`%}Gee zX7IMt+TyAjPh3?Ze$8 zs%CSu=QHVKMvh$^KRtUIJQf>ICjtBHcpB5H!eq0!hYD*)b9uTC%of}z8#TR&IFt_| zao!?zXZJn&<*BD#{?)*#TG!aBYwQQHeaT&RuZjMu=wB1}RmFV|rEkSUKe#*Z9jMG! zyCRQXueo1YC!Brwn>U_z_dPg%|9Iu%*JGuLpRFKU7l=1d;_tei_ViWw%Ee{J*XMz? z*F9e79QEFT%CY-tAe}%yxN`qW<$A4m1o@{P--FrvvumD_s%PZkXWtyE?mt=coLcjo zt9s7WJkxA?kN3gZ`)AjB_E&rM*Lor#v)6+MOZ>N@ukIUMIk9}A#4p*)_HRXRJrI6) zq#Ae?l>@-6M31cC`y9$zCkeQ`e(lnx^@#`{?Sma z_sBDN<%6Zkx@*tUba{Hs6|TC%4@bUpMSg_$KKS!Kc=;dEE6)`?jeoKCP7YiDI&7Of z(w1o4SfIdrirs5}00Qncf_3QDhn@s^<3`)mrkZa^Lu_WK8yveM&^CL(!Vb3{NEqIBo!d9?{i>F6NyU8G1v(%7Q^#>j+gl zLaSnEx8PVl-Ug=~mWFI-*0+Uj6Hk-y7h3>@s~zE0F}yoKa9mhGY~3!5jR~V_F6?Qb zF(l&%WpmrUD1Wgk26qhvoxRO7b^vmo73zg{6Nb)Dwt~1(zOgF$cMXDFxm&#<00>AD zM!f6HRO|AEa$!~M-`(;M!t9FQx;)0tMXW^hAU3#j=q}ueT`$UNjjfB?V410jg2QzB z)WrGLH_n&ytD<+;i(|>NZP&4&Igj5?#wBmEzkX%PgiX%^Yg{yR7U-5M#)%)4tpV61 z!Sxla>>xP}43+q=I&?IG{!RPxSl(;Gf=FAi*kR?C7;Nw#H{tLG0f$@PjFbgB$cXix;7pEUCAFlDeb$iE>uk5SwJ?nhG?ODbcA^2s&l NVAVPJUxE^5>VH$Gg3AB^ diff --git a/Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc deleted file mode 100644 index 1911997d3a119d566fda37e598dc26806e668224..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5661 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 diff --git a/Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc b/Game_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc deleted file mode 100644 index 6b648b0c82dc56d768349a6c9203ea5e0120c7cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5506 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 diff --git a/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc deleted file mode 100644 index cbbd764d06d24e7042c39500ef7cf09cfb7b60bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4751 zcmbUlU2hx5agRJwM^Y3e@xzozN|YVTpyevI)7Xuhx(VdkmS8Ihlo$me~`72reR+VD$&{(=4ko^XJO0}KQx^3XRG?o*yRv&TE$QO!ej zcbeUq*`1l)otYi#Z_#L&!1Jg4p;D9x`6nXw6X-C5*1cRA^0yumkWaFf4{a3 z&G2Hav8CNF)o4{=YrVm|u|>ZAt$=1Jq$p5Q^nF4UzamoMT^PiBKHdxTO#rSRX;dr@ zDH31-#C$|?jiEsreC7iK;m>-CAvYgp4RN_)=t*1}DMq-y5T^$!!}d%V5$@5VE?R`o z8g@&iQN>S3l<<0x#=a7ZBXsmDQjF0t#lP;O<3JgOzDqJt<3Jsw2^cp{lK|s11u#L+ z0Zh^~z!aTOBp5jfBhS%{TOUxfKuuGR6+q1ab%IX8flQmBm4;HSE|eHGM`fok%eB&` zVxDtTsG_d1aziWEYi7*NXw=oaX2MOOthBLFu5B>fUvu2es;{rBie{$Ww6ekkbbmiWBqAhslN%RccvG6 zD((n7L=M@rc0?*p*a!g*k9Q<^?2gz&+D@F>6l_6r;I!tpj%&Ikx_ z&(0+rj(Z(Ro9b>)ts`Y~L9e5$($_`gbM^>IApAnhCTUJ%@ZHLDC;zadJ-_X8pGXV=qwD^V@B8NwI>SG+wY+zStRF{6QMoiyBh)Sh{#5U2Icb znlq%ijx_f}EWWq>m&C#2=UIK~ZGGZ~F>ynW-85o1TVgkvZi##0Zff%2#(ovLkypvg z{_1gZ_9!{q{@r(T`lVm#$=gQq_HpvTQSyPFTsD%+d`cp{zjU0qbdN1M$PC;WxnQmtK@D>g=q;xko)Bc%}yNZlSKn{z?xvNLH zt9tIbk-KhDXD+$W(`auVGWjnv*aA!DP!5@IG`P0h2bgryp++v9};}94T#{ zum|UOXFL^nDs)mZ%y;*l1T8zs1Va!1UI@#Dpcw%_ykp;2+)a`4u)d`#AJ$bX0MNVH zMF0gKD?nq0HjyubgQ{p^KF{Wm9NcPvODfILzSCHgS>UP<0iesojw6|)NJfw3j7aW; z_(PYw>8z2SJ5Jv`O5fDe?-=QKT8rI@^Q}93OWo-UhfU}#8pGKR|4xQr2A{^RaHUMq zwph)x_qc<6?=fO$+&kAAl&?^W$tX~LxK`Kt@En*0kzl>RCtiOsL3H80ks|A(; z?)&?WG|6rFzjd1__x+FQ&B{gWZ4mA@CJLG{G%a@XoX4a-<4v4~w+=VVh~+y{{%n@< z<&Y~B> z0ZWxrtHxmX7>dw=U_jDs9Dfr5h6OthV9lMcu+L)G?OAY{g2~KdN)WUTc!fo|=Q6^&OIzVqm>aQNm^7i{!8!^mp0F%$ z*6CIi`@^#Q#a5}>sL!S5WI7h@$XLsVI2SSqp$2+-F}@w0lp%6PnpNaQ|*l@c$A zcm=^QC9oR^ZXv+mg*=QIo*cvNVs{bTN3ew80e}}hx59gc1#N(pllpf^*1N8^8yVSM z+FknNQg=Mr5%JT-WH&szH{TJ{@abZ@o677iwX}|yfln7R-Ki@F>xZ@HA3gsjYFu2p!3}VZ~jr`%^;W+18|KwU|0xb4&qQr1u}ymCo*eEVeP$2< z^E}de0MKbfdjL?lVjTeJB%(b4s9PDJ7ur8Z{)IsRtZ6XeOQgHya}<~p2dTp;WKR4f zutE}#vJhf9Xv`q|yv1M1m?gMpnX|o`bbe(UO4!Z$h5BZrUV~y)op=AIgmGt^#Az7> z+&@;Z$5Rpd%#YH$mSf*$j{wE{UHuZkiC++eE{W{&w@XqT@Ao~4?(+A0^6QTGI}zU# a1X$nyhF=HwqsHhP|K{xf{KOz`-+uvjF8H(n diff --git a/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc b/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc deleted file mode 100644 index 90a425e01b13278829e25b30847d10fe73aee0c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4612 zcmbtY&2JmW6`v)S)RGiMN&FBgQWWJ6xr|&Tb{o5O6D5IE+Y%flff64GAq$4PlF3j@ zW_D$ijGP##3y?(uMJGu>5UH2et}po$dhbO99gx_%r?`jSgeblE)c0n&n89`zwwQn5(xPo1@m*Xn3EhZyF?-qmnSJ~ZFz3Pma=h%&YrS^ z&YtHt94QA!Y~%)!_ytj}pB&!*kEo#| zf|mG5PRJWYtyFfuoPi#*ITaF-$2={&3{6p4ziyXFWi zOdM&8kos9HKS_tqt8#vg4ud1bV4!&JIxnTQw2Fb0!0-9n^Ve2CP-UvFu4uA+cXdHl zKh_Gx)pwM9R*}W`=WndufDI7m^H~70I-kd~qB7ko9s>B8#c{S+q8LTx(T>X8CX6KY zIgtCL>G6L>|2X&5Khf|{*Zk8*7jD-5i${Zt&xE0EZ`IonVl^Sw5YE?x^M}$CVdk07 zzg?=9z7Fi&c^Iq3U#&;3)O}Ygd@~rX@L#x_q4B*dJ9%I|PlM6j)t%KwaJm+pKK$Lc zGqnq^*MoD7;H_HlRz0}Px(C9$OFK)Az=c}iLOqZKovRt1fX4eY6x&sHl*9KPa`n(l zIAAjl%@ZNoj7}b0+rL)fw_R1&6CvE3m^%DO)j)QQJ+D|nmUI9&g;75+ORegdl}nO5OM9xm=y`TYhMD8D3UwPFwW%;cf3gS~Z|8y17++C`zG zHGS@JtQ59OIE>JzNQ1UdnHJmQmPm;_;+B(6-2<_^VBT9SJW=y@VN;dgEvQD|V^q`g zK$13^ghqF5pk0K(R1tn6L9s;W&dnl(qFf&C1dE};5}?ij!BFuvJkgpb`ouHQ496Pb znObI1F3GV>e#Ei0sOZ|lKL9IV#=(ip0q+0)&zPL2__gl10-WDh{&_N#)}T}8ef6H z8DGiBXNrTgDia%_t0sBy#oUSjYhYN^Z-Kvxy9a4Aex|~I=`+xr1JzGQ^CoziXmErs zG%lF-#lUDQ7qEW|NjMHjyvB+AsMy+q2c#Iv;L^qW707TAhzJ;}`eV4wQZ6;d>81smCwfzgfAx z{bBXPI)AAdNYwd6b0l{EdgT{&K8EfWs~78hsOj=;N2}2~A2{Ym9GCa59L(*{9TQ-` zooCJ8@+T<$FwHw&Iv(U4(LMhOf#%rBIi~jR9&GJzp*-~i$Y+pDBAGxkj)ZkQd-zN2 zbQYZ^!RfR8&rqI3IkFczi0{XL1lh=6w(O*fPQapdC;XJeU!<5s>?ri<)_ZSurKD=| z#_W7yqgYVjA*jw;|L36WbnrT*_`}B7&=urZrs5_)7hW?WVUFGg5ie2|p9jZwj^qA8 lJpUx2?}_(cc22;r0)O# diff --git a/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc deleted file mode 100644 index 9c588ed57fa4ac50d6e1f004913b6474a470426c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4727 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 diff --git a/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc b/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc deleted file mode 100644 index 7fb7dd7234903ab6a2e6cb85a42c7bd1899d81ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4590 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 diff --git a/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc b/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc deleted file mode 100644 index 726c1a4e89f162ce1629e1347de1a91a6119ab79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1265 zcmds0&1+LZ5Z`^@sZH${Sm}oms*r;@c(5QMLX=XGSlWsZ9+XFR8)DuUyD!y9g&=~x z2))@u58^=)ul@o43901pSP%qHy*=oyCucXN7(f02_syG`-I<-8nf>kie0~JM_Nlb2X0FK)gl-5$vOCU*al;x#nwuUe&Q&(|sc_tESQo-wN!i4Z2D7Esa<& zjH*Lyia>Wj&k?+iin${hzEZ>@w^3d#`wbckTwtJiMW)j8j{m^fObaSJ;>@GvF&Hk;qW#8kRa<%5(kq2`3p6qogZVOXsYyu+Z z;O9%gI_TT@xpaCi9dC9OWwvqF$`G*5ayE+0v6q$SmA$1yW433^b_a9}TOrwia_-gX z5LhHoegVr4z~#L3R)c6wX+vxxIfVrRDE$p63M@uNSUmBP78f>e)oO6y(@}+@_ za^NO!tEAo?lg~;_4H^3HkeOgn_oQXiRJuO^9Y7m@ diff --git a/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc b/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc deleted file mode 100644 index f293a042572b3158988e1e537c32590d28f1d597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1091 zcmds0&ubGw6rS1NsY#7(!HQLLsD%a1u>}!5LxUwBd|$kc-1skcZx_2ipLTiSoYfqn0rnYVA=`{tXkrP3IJF?at1{bC^W zTTM;|%=H*9f!jd@5zJ6?ZaN=Lgbtjif03!Dkxa2^a4 zhl$aKB0geby*FRuK3YE;J^Bar@#o`JjB@1L4QaEa-HD}>>cjlohiacIPX1Hlo6@Em zz_s*xg7P?wsI&-eb%AnA(3toJcc6XgreV&KkO(D%O6BNL?N0Cv{t&@(M(IZIfQoLG zq`{Mzbz-`@QmY4bNVYn& zW@Neh$F(jxoAp5v+2ijTZyMVRd)Cz<#6VRM6(VfYb6QY3&|0_!UmpIo%iHP_ zD#wgfmvfQPsM?^}i-dQpr;mfH7UjfAm?FEX9}8D+K~A3A7(E_t!;Yp|SN93&qjmL1 z-rXo6Jx1^G8xW-05{kZoi80qu*#k5;@LW8zy*NbR22&=!zB~IDfz#Rk E0s0~EKL7v# diff --git a/Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc b/Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc deleted file mode 100644 index e9e0c43887c3ad3265818ec7288305755745d5c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1953 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 diff --git a/Game_Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc b/Game_Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc deleted file mode 100644 index 690b53acd5c86ca02a65e930c6d4ea80e03d57f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4938 zcmb_fO>7&-6`m!RZ{B+|{AV!eC-B{U^9$wQ5+VOW#{N7O(fJUFhlCO;lu6F)g`D6b*9mn! zAk?i0CD9(#>r37qZBtL&CY2NGLPq=snYE%V#6Dm#oq!A1R7g&sBC>VC@)gfmy;CaB+iZH#uQI!+A+i;LBns&8yzVf=i>v4 zn+D+*f?pVB8es#S09izFZv^P%12Gq%Q$V}uG|)kdo&h>!(NUnoK#!aY#+?KC1jv0r z$AFGlbR6hOKJMbMy`Y-_`81c0*e%GDAfKVB2P7AzxGS_$q_cpYM6dmi!K5(TOZ3@H2iN>3yfYBWuAyYy-~1Om%Es-+nCu%>td^^6&G4vq z3Y&@{GNq^+BDX>0%Zhv@H%>mrb>1)Nw+;7(N{c?nNnwWIuhSMV1N5$_1Q{{-jm$ge zY}SA#c>=THCy=JlByu-jn=at&Oeak@aNWFZiokVeqXamp5$4zQ0yk!JdN-CzBeJ9v zxAl5`(_>qt1@xqiQ^7_BQg`k>Woz{M(tMA$sot!m^ETG&pI9VV9a@PN*8*ZP03R>RVNwO+SV$tD+)`m6m&(cZ4_v_vBlDFsbxwLNvoQk z-l}Z=<8NhM-Aq?0s8Uri)zivvL98lFPgm69ZGAa2ZFp<-O^kT2R%5CT{kqvpvaD8A zU6vUhEW`6;c#I5B&xrQL@a<}uYFWrKh9P0NAXdd1hN+h?s2LuZv!b&gO2u-uK#gFr zTKNPFkqhP8?Sdg~D!PoZ&(JZ3x2RNfg=Kt(s43+Q76y<_U=zUx9m&uy3VsmhaVu zL;E8%_sG{$XeZbT9!sf1DRnF@9!iUk=u_!(JDS)QKOZ0HW?}&P z+sXND@u?JR$5X(Do_oo}zejvq8Z3b4-Av4e)tN4r<^alrjhC|Sr(=85%f%Rf&@enM21MUH} zvWYiABi(R6D$Kt z85b{C{PNInuC!gWv=K$i!hQ~V9lTn=IID;c)UGqK@P`fy@lqSIaHyz&g^2wEl-UY4 zyq^6(<~Vg>0{qsASy)}>rHXaN_8Z=^eO7tFg28%YLRV4M^4e4st~CiOzN75GJr4Dt z=rjQ7?|HgEby&GNXr&KK8Y)N@hRQwP86N)lJ}awUby)T8pj8rBFkGu_@I6$w{C5tY z1p)M*vt*6*9G=i%UewJ4Wp9GaI!Qw;LPqu-We8UW&`Qg`Z0#3)fTm&PhlIeF%d<16 zULKfksDSvPfbf55t1FF}{^DW5H_?<{MThs&fi%mrATwvcdlmmR$+F>> z%fHzwlr4!{)0q*Lt!VJR#lIeg?<1(yRrX`Uqi@y9ih1GiLdQ!jFZ=i+ zWO%hQezD;N!>(Y%ODmQ&L&TEL@V`BK0~?;KS){IEa|4@quvxGSulZ(ltU&$lO|_ugrP zbg8v;Bu3j~;hkhFc_dDsh!dVmyV(;0-J>G!{_N)6U!s4X`|BJh57s|2`@Gyi#ghwy zC%HS-A<&(8UrZ-~k%sOD# z2L)X4A%_+M@gWBtN*a^?F>(;p?6tl0rsAG*>U*;vT`6uMhK{87e($~6d7rcTIg=SB zu)Z%oW4~*J{Dwlf^Z=Z{2jD58gencPNmQ~*sCr1K_FN_8CH(xgsZixEDeHfrxLymi zk|hG+d{)7e7=gWHQ@ux+#&oJIgIOXqLYhPdSapdK+auwD+h&NsYM_-Sm_|q7XEI|e zL6e92W|EFFZA+yoz@s!RaRzV-umSok;B=tR0nP+C4>&8&!)J6l267H;7y5^D#=)Nd z5Bmhz$LJ))_HSqCbPD#2(*o4)ikG<4u=g1EQkD-at4?FWgO-PbcbHQ&wye2r$a;8@R4A!KB)AYtVP@aSSWn@z>x(84$ zjMdX@N`umQdJSKD@!BQ7pmd`tW6uXe8fmaaVi5>LZ>D?Z^snaCSLW5@jZ<^6XD)Wl zMYuGvq&%(F6a(*#|2H#uKkPIgvT!bLV7T$zvcCOG-rSK1P6Y`Ls_`#;D9eRc=0Zn1 zHJ5tkQrBD>%yPXvf$v!SzpyNC)UtM(bhm*xZCT&$+Ks@X)g9N%S(fcMP1knoO-H~U zO}N}kwD#`9<6c6vc->{5vC5mfEj|X3@B)%qB=bmcf_MqZyGX7hc^}D#Ku-MIEZ?qN zM=cU8x;TX4XvaQh$#i?Iz4mDBACStnZ?|thx_uUbeBnu^moIg7{GRHizOET_$E7|2 z)~QJLq9)le8C8rcKZrg7HcS$VG2@$N&=ec~*&m|M_)XB^y%wJX>1&FjoRLghe){@#1>$*={E521E-*+Be*^FPET8}Y diff --git a/Game_Client/Classes/Game/__pycache__/Player.cpython-312.pyc b/Game_Client/Classes/Game/__pycache__/Player.cpython-312.pyc deleted file mode 100644 index ab0480619ecba378371550c030f38b1239fe8eae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2688 zcmcgt&1)M+6rcT)SJtPkSpJG?IZB&~n)DJ14W^~Y)OMk+AQ*>`JU1Cp0y5L2rKV&AfRZ^PACc ziNqj*@12i-WPfUe{DDgE(*w}W1K1;!P^CsziAv@PRqqk1Jy!h{t4dQT>VKiKRPjx| zj08$|UBMj~Syd=mRc{ieF`X*2FfEbVN18+i%<2+FHj?2DeY}x=*#;g4de8{d=m7jo zW~@bM^q#&NrGrdcQ)vwFAdO3$02~8sfISH~9@tZW69G;GPRjkzN2f!er(o`1=LCBX zgHQSmeKO!PL@z)MZxTzVBj7jO%oazz$a2kYGVaAJA6QnEhLrV&m*~%I+KwGk9ea~` z!~NNH+o2_!Q{k!LrOU-SuBr6cfk%Nn0QQjXRS zQ>!}6S}Dz!=OIU{RI4(_EthJx5KKs0+3(2JM$=`hw7zOb)Ilhp+ zuYVgo&Q8D(lf%PU7p91(R%xYQ2^jia7zX8Z7n+14lMfYcz))0q3I?75A;1ZnPb~0!}pkub7 z6z)8@b7W4OF9j%GGVgQ>283K#?w^9x#vnYOM1j3HPt}s=r$b`ZpTkuQSB<)i_*Osc znS7gp=~tcgj|nQRE2VN=3$aZR~m6|#-r~K0iw+XLtYwb1 z&5JGb;{M7L^AcRSlLdNOqb^Q7KL1~p@a$~XZ?hhCkbEcVO#1Vm^7^JMb|fhFr1{-5 zE1qhZQwQ1;^YTj-FBLQRVB=qpWqE^^wOOZIHNQ{Ra*5X30|F=s)O{%|Aqh mPonI{b92@|n2-2%u;Kj?IN8w@MR`gR&-5!w{%-<8`n&*&6!}g7 diff --git a/Game_Client/Classes/Game/__pycache__/World.cpython-311.pyc b/Game_Client/Classes/Game/__pycache__/World.cpython-311.pyc deleted file mode 100644 index eb436c3a52777d7a603d40783ab110c451e063a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10505 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 On)ZDM3lXiw{(k|3p9cv5 diff --git a/Game_Client/Classes/System/App.py b/Game_Client/Classes/System/App.py deleted file mode 100644 index 92d62a0..0000000 --- a/Game_Client/Classes/System/App.py +++ /dev/null @@ -1,139 +0,0 @@ -import pygame -from pygame.locals import * - -from Classes.Game.Cards.MonsterCard import MonsterCard -from Classes.System.Components.Window import Window -from Classes.System.Components.InputHandler import InputHandler -from Classes.Game.World import World -from Classes.System.Network.TCPClient import TCPClient -from Classes.Game.Events.Login import Login -from Classes.Game.Events.PlaceCard import PlaceCard -from Classes.Game.Player import Player -from Classes.Game.Cards.Card import Card - -class App: - - __window:Window - __running:bool = True - __FPS = 60 - __clock = pygame.time.Clock() - __myFont:pygame.font - __world:World - __inputHandler: InputHandler - __tcpClient: TCPClient - - def __init__(self, width:int=1920, height:int=1080, title:str="default title"): - pygame.font.init() - self.__myFont = pygame.font.SysFont('Comic Sans MS', 30) - self.__window = Window(width=width, height=height, title=title) - self.__inputHandler = InputHandler() - - # game word - self.__world = World(self.__window.getScreen()) - - try: - 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 - - self.startGameLoop() - self.onCleanup() - - def startGameLoop(self): - - # create sprite groups - # todo: remove these and let server handle card creation instead - # blocker: server - client communication [WIP] - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(500, 1050), self.__inputHandler, Player(1000, 0, "test")) - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(600, 1050), self.__inputHandler, Player(1000, 0, "test")) - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(700, 1050), self.__inputHandler, Player(1000, 0, "test")) - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(800, 1050), self.__inputHandler, Player(1000, 0, "test")) - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(900, 1050), self.__inputHandler, Player(1000, 0, "test")) - self.__world.spawnCard("Assets/Cards/1/", pygame.Vector2(1000, 1050), self.__inputHandler, Player(1000, 0, "test")) - - 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()) - - # event handler - self.handleEvent(pygame.event.get()) - - # emits update to the game - pygame.display.update() - - # handles incoming event queue - def handleEvent(self, events): - # TODO: fix bug that stacks cards when dragging them around - self.selectedCard = None - - for event in events: - if event.type == pygame.QUIT: - self.onCleanup() - elif pygame.mouse.get_pressed()[0]: # Wenn linke Maustaste gedrückt wird - mouse_x, mouse_y = pygame.mouse.get_pos() - mouse_pos = pygame.Vector2(mouse_x, mouse_y) - - for card in self.__world.getCards(): - if card.rect.collidepoint(mouse_pos) and self.selectedCard == None: - card.setDragging(True) - self.selectedCard = card - for field in self.__world.getBoardFields(): - if field.getRect().collidepoint(mouse_pos): - if field.getSide() == "Player": - if field.getType() == "MonsterField" and card.getType() == "MonsterCard": - # todo: resize card so that it fits into the card field - card.rect.center = field.rect.center - field.image = card.image.copy() - card.setDragging(False) - elif field.getType() == "EffectField" and card.getType() == "EffectCard" or field.getType() == "EffectField" and card.getType() == "EffectCard": - # todo: resize card so that it fits into the card field - card.rect.center = field.rect.center - field.image = card.image.copy() - card.setDragging(False) - - - elif self.__inputHandler.getPressed()[pygame.K_SPACE]: - print("card spawned") - self.__world.spawnMonsterCard("Assets/Cards/MonsterCards/testmonstercard/", self.__inputHandler.getMousePos(), self.__inputHandler) - elif event.type == pygame.MOUSEBUTTONUP: - mouse_x, mouse_y = pygame.mouse.get_pos() - mouse_pos = pygame.Vector2(mouse_x, mouse_y) - if event.button == 1: # Wenn linke Maustaste losgelassen wird - for card in self.__world.getCards(): - card.setDragging(False) - # card.setState("placed") - # TODO: send place card event to server - # resets the currently selected card in order to prevent it getting moved - try: - print(self.selectedCard) - if self.selectedCard == card: - PlaceCard(self.__tcpClient, card) # tells the server that the player placed this card - except Exception as e: - print(f"failed to place card on server due to error: {e}") - - if not card == None: - card = None - - # sets the running state for the gameloop - def setRunning(self, running:bool): - self.__running = running - - # 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/Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc deleted file mode 100644 index 10e97a11cd39f98f0dc149cdedf725649e5f39f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3305 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 diff --git a/Game_Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc deleted file mode 100644 index 507c28237ba5f19032f3a0755c0d5633a47a7119..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3655 zcmbsrO-~y~bk-i*i@$)dc8p0As)QycZQ3RwA|I`aXhW4&G%87@Qmb3XyATtzCbLTk z)RCx^R#f89L!@xvfTD;xf&)j6J@g0I$P(5{IrWqq6+PwD_h!B8wMnHkon60q@6GIc z^FGJFMIu20iHD33#q)qD-gOTl8}PHnxS$AQ zBt@SiIhw6=`4p)W`-*^)R04a+xaTHOy;HUpqWTo!3TyO5{4@?oFLCJLHiQVyN%T4q{(E`iTX-`wq-p_&vqroS$ha&cZ1L-pK(YWlK;e1T;h zx5AegVlVvmAM=zj0JX;yaICTBB$v&>SrLl9=F}?^8D;VDza=@^i^O#jCrxcVI2XN& zr|4e?-5ZX6I13b#H9&%cuQ^F=uj0H8zYT|x1}*mk@QC-@iWDR{9y6R%5i%v(AAo#k zMxK272#bVn!$lq`*0r??Ek_V`;LwSL+ixvtW63RPj`i598lYfpUNkvWn%={z- zouLRbFgCAWg+yVf&h#@?Q&h&#VpE({4H=V=VGWq{OUy^%o+->T^bJD;7+RDHLbj;+ z3D%CB4g{SD4k745z%x#eO<~RyZtJM3*BLLa4_`{()K#XZbwgFZPk*fHcZ|YJ`U@?e z(^UD!@JM z&I=Gd{fI!);8s4y$Wvi7CGe;`71%Lg>bSj^9S3LzAfh**VJt)}x75kQu(ppuStPag zuH_%fVv_X%`RZC3UNoQ=g|HNWR;`#~F0Du=aqnpaub~T!!=yZ*%MT`9FX#(l$3URo zzymexTPTa&ucH&}!#X>l6TLbL3F@*B$zI&+*k=Ybbq>30*6BB}j&;OC`6(dHpj3w5bN2YH)ltk#LUs( z1OVCLs({JT-L1Y#Y_J-`stGQ^V>y+=R(l}M?fV&!N94bB_#)Z~b~XN{Kxac)d=$x= zTaV4gVnCnrQEd5}Bk+D`rK+DLV2|aWZp1J>%ux1rMw?V+j1zBRDQbBPTV8Kj} zSHo}a{06@v`4()_F9K-pH7B-cB|cD%W8VnX#PF_|*bx&e(rWkGCl#^3D)yJ{*Yc+m zTM&gf_a{aV@x0J-3d%3yhSxc8XO2nf2aTj(+3^H$6jexon z5iREjxDLoGB`le841nM`0c;MfJ2aGEEGE5`&l&t8vTmE!u0j=-nOg{2b&mKuXu=80 z1TnlE*%gyJVshpD>ZKChY^#Xps^Yn_{c_iif{)N<76ky+&8HaN9{8t7md&6nPZyNg zJmO(lzB`-ATPs%fV5XVvvYgShf{`(D1x=S_>+THbvuq-hRZXvMFf;HKT%84W*1B?i z6Zt~MV0cu9erI@c_8x+>2nG-gBDjR$0{~C0Cdu=SVGKAxXX@J!o<-MFYinQbDN_mF z3YBWXj^($@G!Act#%qzTRi6u_@r5! z{mC8`eLZ^wz{)V6O8(6#N4CfK^!vmg8b`|Cd}qyfESeK8APFF&YmdOx3jDYfUp>I* zdtouT;$H=&fV2Ys<-ZEOh}$o&WcgI$+bkAmSitY`o!%n=RxYew=1A!#pSF+lsTGKV zuN%&K6u<6n1#q16$ZG{W3wbCZ6L~}8vAv1`#!HdM`-OPLO2QA>2=K5P^^XATc?ChJ Yk;o!{_ULH=#2*BIA@A>(EN~6~0OeBDaR2}S diff --git a/Game_Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc b/Game_Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc deleted file mode 100644 index 6ff947a38c7c8bde120428eba3d8ccee49291369..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3603 zcmbsrOKcNY@U6YJ*WV<>Hi-jK+7yC;Mx~?(2yGRmB~__X)IcR%i>>i)f*ofa-fkKk zjD*y*ilw47rzDpKPB_XTIp)}&dZ<(pSt!<)TTk3VeW=8xoq4-n8)GU_UX{_rPRa}e?;64k|_dk9r!J#t{~v8(g7(1R^Uy%6o#AHV8_*5zh#qC+7FWZUS>Po z(*e5MrOtU03+5uxgSz9h#5Fmi^Hff1x+67}n2_~=$Tme$O;TA_bYGR$yBhLlch;lT}qvR+u^_RJ1aiTVx`Tp zwKf1rL-98*iOV~xC7vfD>SF7)HGw_G%9EzHxU2lyH*c40dFO^{16X6(3p!W}*JKe( zS6i=cd&9)z(Ac+K@F(1M=Xua&MNP9TOSje?G*P&zNs%`z?w3e5De1hBcW;=31}yPb zZ_V3)vW7t34wU6ljzsOFx?_l@5}7AxaWtSir*jifCKMIuuCbhY9tw$KV00&y6-lNP z>p>SLWKF~(r5I$L{{rikyQyw43W}pC>Ve9VGvgGmrRXOcWgogk;O}}XU?j_jHba%9Rco+`IP292Aj<^m2fmGKjI48` zQI4f&oudbVuj0WT`UXJV1*yFRlV#3t#K$D}1FwRWbcd8%+81vXZaowtv==u1j|KEF z90VIM-LwxtqXk%Zbrv9rKG7(G*SZy4#+rTMRwp=mF{{q`EVqGT!KryYSD1S!biUsG z;590I;eL$!DAaPD*GTrDtmU=tQsh}2+DUVS0hbVLIhOWM0C`#3)Ac9t6s$Z4!`W6h z4y}<6!@)L6Lm(5ivuQv(0B6k)8yFUP0s(ffikhKk&H7QFuOE}_MZp6Apnjffmx%THBXq0;*E&}_?|uA8IBEpZ$|RgeoCOiH1@*x}AOJI#=@5Mz$f(V* z7N@g{r>Yh@!KAw8FsP#_g+auW!ZfSquYMv~`IA8Il}eMO@od9_{NVf3u&Vj3Wrt@k zkj`Jrq%>Bv#IN29hU_!R4o+3P7yhQ59usAveE82ptbin>P>r?S#a263M#-k3>b431Ge*tdF% zC?*sot0lBlR#8RKcwk-X3>{A-W!iP9ZprU=YB%F*I4ZQH(1CSQF|$0KOw-cgtc|p{v9P%bwQ74?EMWS@fUnU&-o?4K#J ztus%ZHpj7*Q)`2(gL?$f;$`;P?yVrTCvc8VP~N@TjmkPJpkRQdlSKp?fVDLX(Rqwh nF9LiRp9$xTTz)`DfW#tKv7h$r9LN1Z{D1SuxPiY20CwhIFMp6h diff --git a/Game_Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc deleted file mode 100644 index 1867184feb2f90acf6a4b439ca9cb808da86ecff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3667 zcmbtW-)mD>96vWXH@U4zs;z0FwzYQB87sAHqC+}mi(2tVWL9xxahELjw5HxB*}1n9 zU4=4aWFz3%2KK>+Jc!fzus!U-4PpO6QUVPZ1VMZ#j8W;HeA@SWZtiUof4q2d^F806 z=hydhe*6*)b`mI`9lpb!`UrW7f>UUNSvwBQEus-k(n%6)k1n0V+N*nJy-BZxJk{x} zoRlTvArnNCZxGFQ*F(qy_}eAv)1*lf^RJ+oh)I^T8%XEJ`83y#WtpylBwxsLUCT5g zMCES?YySdsi!hRuG?Mh3htVXxj51mCjDtn?IgS}S^vk36Lz(=(Rtko9FcOje8@>f;{y@XgH z)s|HCN>(#3t$Ye=YjwHGODsEm$$ZgWxN2U?=LV$YRk+p9n%*(tqPgK;4GVcKi^bN@il8Xb=$tW0S z+!pVG^q}ESh(t_4qf=&NhbuQ}9UUR_WX2VMcl(|4+y(xDE5j(idK`1Xii62azHyAfkhRN7h zsUys|Y~~B8GdUgLs-BBaq$Z#(HLhn_&P>Jiv|%tKHF*`>XH)U~Y$2ZmgORc~#ApGA zuBtc}RlU~LP&x{nit!VW1yYan6=^9@j}AZ;Y)H?PP-(+=!BVgod=?$J9a@g=U5f7g zee)lE56wr{D`Tgt(L^np5D`kC6kJxeE-70V4_B3unle&RMjk^0p=D)gNf|2dyE9%@ z#%jt~MHzb*>Hqob<;bq3$gXN+cP+A8^u4XWNNY;8BEB^k7Rk5>1p#@nuMp~Z>Q0jT zQsO=kz5_G{+6Va%P|J6g9NdNq{Ei5&eo(8W=g)=pC_g0nZ_K!5syTa}8nUE_g9e47|lS5Vy`a5KS%P=zwmI zi=*$_#>PUp8l1Y(7>S+pB4qh3MuKfQBN32pUy*ZozBaFjP`nFad=C;Fk>%seoa4Dy z=N64<66 z#lSuwFbgGkv-A7TANKwHVO7~tQ+8CGuQ9JH;swzRcianNUIVaqUO%tallBO?cx zY-(ryJTGHwFBMo9>L}+uW%tfI8@onnOmKEv>tZz<5Xc<%Padq;mu{F!L-2vR&+4{W-5;`^&s(5$K>Bt9E^~<@mZd=4bYI(Cc6JB0wI+x3vX}nDhRc*SHy@tuf zN?ZQPIX;!nFg}3&Y)A4Ak{FT^B)B8^7!b>EG<@Gj$!Cb&WXWPb@dN0FNaP)pe)eYir0t8};? z>?wU-q1)iA(rtB2NiEP{q4-s4|0)g01FHnc;-skV+110iklM+BM-HwMmnf3lk8x17 z6Q3k+Uo=p=y`6yR4N?7z`)?m=Z%y<7y$zL*-8o&`c>wK0?L?vSmPNKopn5G4fDx-3 z^V?Ys+HbB=csiwZ!-_OsHKX{_8C~CPoI*CN?iQ=qA9f-|(pnSwLK(MlcZi>XSjZzW u3P1q8l2j+b1@WtsZ58KxLPjgCU!Cl%w0^5}uLRS3nLJ0`f3GlzDgO@}*bS@z diff --git a/Game_Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc b/Game_Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc deleted file mode 100644 index 3ffb5fcfd857019970c05e32bfe454cd19349bd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3426 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 H0Sn?kV|J~T diff --git a/Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc deleted file mode 100644 index a62a2d3df813e48052d4c2d74211ea1290e03f73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2343 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 W&3r}-a~zCkbNQUbzt|#`4fbEy(@}f? diff --git a/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc b/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc deleted file mode 100644 index 62eed0f0a8dbb34f322082533ab301f828e2838f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3475 zcmb7H-ESMm5#RgbmyY@}tq)sHL^Xbpp8J}O7PYWCGyDb zo#j}d1hvhBniz-+q_BacfF2xIsRdLodAIxr6r^#0i30=#$Wz`}s1HV-GPB1!l9COy zdwa99AG0@{{mty~AJJ%pKzVrl8~SR1kRP$*6}isrrGU9ZbfOD6GViv+yukb7ya=tB zlk)PsEa04!Q}TiN0O#dgFdv!^2}C59iLQJ`^uT?QkO%O(Wj?G6b0iV`3A?ii!Rbg& z{bqWJ8rHAUhMuDghLqnHSWX8fCjIMdJy=K9{P-c7Gax5Ymyb;|R$zmff??2%l{Kyn0ulzzLS~U#!49&>UW=^pFJtsWL*DLhtHJ8#WCQD1tjzO-@a-pr=8b+a5l zTT#btb-c{$)7_4~8WF-{4YI3tmAlVu9|r=pqK?|?X!$^W3Z*82AhsbAj(*wpdD~y2 zx1#I(F%gM7Bd<*MlSloL$&1pXc=zPE^k`fG-U;TZX{N8yjE`qn?R$R}I(J;}0M0EN zzOQ>D*jm2NHv4)>X!XYp-`|^MTQS@!;UXIR$@f)){&Z|bw4#kYz@NnD`jfZ{aeWRw z3%G_yp_lZzUSd*1_gq9zTWN5RAnStdoghx7b2&#|FcHi8^?cEE0@TP9bjo6|gdGNw zkXSGB=;93RZK9h1j9EXlhf@81gd;h-M)cN4_!6M(huhAhXLWZ@y#i!PO<=VDD-mFidn zu7R~%e@n=-$t(f*FCTF+$7qITm-eBq%|)FIlS}Lc_@JZY3TYh>r&EqN)XY&o;RyxL zEleJG-5A<{qs-yx$OvXfb!Bx8doDWB4Kc{N@C>@T(B-ZMLhD0=u+ZEBf*=irdun1Z z+EeX4`qk=_-V={|Pi($X={;rlp1Lhp5B1iF*!6p1H~uQ1SO3@IKNr8tZ{;iT^LG6F z?JE#c?byptVk3`ZBirX6#_Wj?%E{l^$&V{B&5mj1nD+GP?x6wLBihp-yPb#2J)_&F zfk3Tvj@g}K<<7Bc=i%Fm_i!jHAcpZT3QF>b_veY%CQg!_laa|o(#~l2WV`gJT>-uY z(0K6p?iGRDAyyOE7ks|?vftVl&{hOpED4$qppx*v0JwflOPD1F;7qPjE16K>mi>g$ zG)5vPkmM{&fL?I;X`09AW5QZ1A-ac)ce1<6#MoUwOx6SZa%bZp-D~%C7&XrTStGl# zV|Hu^uBFFQW(sD%3A9xHow4+J5lZNvN1z$;gC zBAS*j=+|?|tD5$Q>*-v5MlvnN5MT_Ql3|zwAZ9ZbJC1$)MO?}62s@2DMo5Of$q6PS z<_eHC|EY=XO3&T78i8h0;?4FM-aIVvWxss&n`jKz6OG~KRNu{#y1kW{rVR7cpBu(`#ha*aF;&PH3kD?V z=5X`>0@r}tG-LRA-&{Y3&b!9Hz|O%0BGvo?2xI|*P$g|^{Hc=Y8h@&!v+UI$$i;GN et&*W~Ypu2}fb})`WdRIzko*V7{`-sxuIw*-#0*3L diff --git a/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc b/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc deleted file mode 100644 index 1471f32dfc9f4ff3e3e84e1774937e3cafc00bf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3142 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 V&ay;Nu&lO*&q?{$uc;+7^Pkb02{Qly diff --git a/Game_Client/Classes/System/__pycache__/App.cpython-312.pyc b/Game_Client/Classes/System/__pycache__/App.cpython-312.pyc deleted file mode 100644 index 92bec224a9afcb9760aef97e67dcf2bed2b498c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9025 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 McnS)ERzKN)0Rt<8 diff --git a/Game_Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc b/Game_Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc deleted file mode 100644 index 6739cf537d6d16054ed8a9ae54e550f19b409ab9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3476 zcmbssOK2NMbau6?k0nQeNOmHpisJeckzgE0Nuh+$)=unHjveZJs8G5%-f?1kExEgL z{6Q+FgjRXX{8XFr3v~!6$`kR-KUl6gIusL|~4h)uwOk_?W8SHt5o8~h-hhvZ8nHDkv zM|jdtWZ^E6#fLm0PvEm!MwGb`lJq`DbSTN0;`O|$$S`PlFF&fv7bd78k8Luu&M|xe z&}BkNhLcH#m$|znYeo2qA)AKtX~#s04NRPg6su6DEq*?-wa*M z&CC`CMsu=4)jE6Vst3Lo=a{{Mtq}T2&PG<91=%y$KZNgzGciIQb3;jw>77})H9AdA z&lFuSgSTiwno+5yQTZ`>fy^%ld*9Ap)u^gvwF0GgvVByWD&%Lf!#QOlN2M#h{n>s{ zAoVH}G*`&>Dx)B+Wk(i(eLA~!Azd>IW&>EbY#CT=t|PhxKbX~;04$Mb;pn}^YPh`; zZr8(|M!0j$->EhN$@HqUFstV3f`gmEg7Xvt09nA5@Z+`yY1Ii5@H(wNGzEK8fj)`) zSUY47h?d-wMn}7=QRQX6ME0arwB2*H?$J*;V^(uDf}fr}`so}2SL+`A#B^cJ)yU$x zw|x)n)VfDMS@lA#b$)svKbvh^gcM1U8|NQFmOgPZ6-t6Iq~e)={tvY0NJxfM+#fZJ z0DUz*X=&8-rlrC27p@>8o4&O4!NvXohRvBmTDp1}2^wx z4U~+c)&G#(X>-a*W&WQ{+gr=#ui?mjd8O}uRu8ut;np>OE2~js&JIF&oZ55~kY!TX zLURlE)(S9*8^PMDQ-kao?CWdR_KZ>SR3rr}HGJ3TSRt?WnBsJPR->kmmHE5|_nM$l zWn4pNHn$wFfJ?}AIj=1q+`i*B@1!{^aZNuas)MrxNec<0&Ja(!-~X@aZ-G zX{%U^b9jx8IV%D|CmseEUxvJ2g~^?*ew8J@$h*-ha=W?c7K4P8JRs*p5#-SNj#h7r z$qB&gRMxEm^}K!L#%Cq5D6V?9^4Q~gUf2JUcb5{5=Oy3n)?D)MZjGft(OdM4@$>u? z%SRP){~|a(#hh1TIe0nU%NKn`p^nQ}3~b@@F|JRG;uvs`kb9rY0Idx4sqLW24i7c^$EFf+vFC^M#war7@!lkZWqjbfVz(?C{ln!4kjDaHqfAUpqc>7Uuh<!f*m052MAW{w#RS;%c>P{VqhaGF){&?lDT1Nl2tU5vdl{~0X-(%Mmo z8kD@q!D^(f5^2*T9Y&<19H{L-^dPuGtMTqiyjzd=7;r51_mo9v{$wS7Qjec9;-~ce zr^@1bG**o!E77DLJ#IvgZxCPL4F<~RYfUZ7%9qL)xd%C;siWM#1CJf4#!ggXC-hjC z5$h_aYb}XtOIM|(OK<5mTDr@F>*1!AcBpcVpc23z&Ss7Das&88kjfN7-SK~VARs%H@3wZpWt&9g2+p#Z$se3W8j?) z{QJZ=F)Yw+2MJC*vvTdLkC6M!b^vmbRVEjC^gc>PUJESG(3hmws>9LE$8p#2%}J=p zS{M88g00GoZKt_s!CEmY+P31C{iz}WYr^sX diff --git a/Game_Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc b/Game_Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc deleted file mode 100644 index e4c10994ee5b541912be060c28fed5e5926743d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3083 zcmbUjOKcNY@a=lnpV+|>*hz4xanm@#DvCldP*o{Xn?RD9eAMt!EyF6!K0}iAr@J<> zEgNyj!AMAj_K+Y|f=ZPN;#yTb_6TaF#xbpgxH7Tv77$BBBqAe`ApTj2iLgPILE0c0B3zJT z2up^E$So3)zsu?~gM6Ct86P7v?qgK`OiY$UAe!EbP0Ql(St^M$x~7h+3yuT7L?{U| zA_=l0vq*vlk)>Ri6%C7AkO$g0x1)BdPJ^5Sxmo0?1$3IioM;5znl|~&s%l}{w&67{hvm%2zLl}iIwa2=0F##pE}s3ono-c8La zncekeRuy3yC_e$ZOxAWe@|=dA8HugEWbG_iJB!w?FHe6J{35t&?fd#f$sZ{A14aMX z58)pp_am$R(Aq9%e(0gK?Pc20`_WbZS+xEt+Vl74SN*|PwO#Q9Z2xX|Toadvu7!&B z&J}Z~)+lDm!GKK?Qf&|-Fwi-xvPPY=rr4{kL9?QvInyRxp(?FpGXZ3506tESwCOaR zNyOxSm5;=d3RO*7r;RCa#c&Fh!V0=mjv#j7G1QujDVg^A09GV>V1nWXq&Lb-S1x@X zzA4?1O78xGyT9o67wv~u%!l-j$uHo2HdA{?RL|oZSbB+M$z1hBz-SpNyUMXyw$V9d znHSwL87m<<1I%pDRADBTKpj-p(`Is@0~YF`qBBI!X2Cw6<>&BLsDp}DBd>GDm&|G4 zZ_f1Mz2?j>-cinyHD(PnY>J(CVfh1R&VbMJ5EF&D8jivf!pGP?@ya44H%jBXsusg@n2T*v06ciytrvU|yT-MUOm?!JP%uLv36 z(x2yRh7T0n2a4{4g_eVP{*lvFa{3BRU(xyIQ)05bmOr-E+OZ^Emp+S@TDuFa-TC2v z54iT0T>A^I{Y6)AKCsr|DRuM~I(my8efblQ?5)e*2lgYkdTs{_okxDQANh9pyX1ob zdT(LnLt2=i#R0n3w&zpZ69aiC%&a%Vn(I4Bi$kl$ai2{!3qlm1O@i7a2$7hWl#sRw z!pF&JNtfui1Qxlx7ZDbV{5m3xwv3Mk8B16`j0l^#W?egD{hGlf#!o?wMe>wm_1-VFl3bq~WIUOs*E+>LV^1W1%QZh6;1=D7X-GyLf$(TLBe_c3SriPt;v(HwL% zrB{0>YwoD7df8^K>8_%oI#-{Y2lV|Pl?OnIEl6nxv~FM+<`>fZ2kH5h9Qcdd$2gu6 IK$=JY0QSsnFaQ7m diff --git a/Game_Client/Classes/System/__pycache__/Window.cpython-311.pyc b/Game_Client/Classes/System/__pycache__/Window.cpython-311.pyc deleted file mode 100644 index 3a9adcb8ea3d49e8acdb762e4f9c609ea1bc8588..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3318 zcmbtXO>7fK6rQzr?TxXWkl^5w7)%O51{$EM+6tu{YLXxo94QW>vP`$eJ4qZiwmZ8a zN))6VaEGAt6;gaH&$ICr*8D*1P@*&;yh4 zoA=(lnR)x(H$VA45bzNw8<7S2okYl=DA+};GkaHnxkpr@3K~ga>(YctY~7k`&Yf}# z$cvgdC#58TxX2h$rB$MOHeG~l!Otowk18Zd%=;Y0L`*P+(?EP57cxv8%~4GSNxD&B znwqVT;ElH~?EMYQJwi!JP)W*l9lS}osYoT&H4HtfJLTb$$R#P|r84w+P@)~P{3~%L z(0S{+11Mve^;<3PmHGIv+CfFt2fqVUp7N;vRVfuv1FIwz#GWaa8eA1qooE4kC-7a| z(xr9*e^5OLYj)eSf<-rId(>I1f&h$;pCh%L1ED%`vf4o;Z zY;%<)$s-{V^D$I0#25qIUlN7#Vl;j+eO;$aPwNJychZ-se%mM% z)8ly!0H939$I@f4yb{-PG;gHiT1MBYo=z@;`CQt<)ld<9>Ha zklNw?lDOutg^xlLs7rr^kKPaNgwJh<&;4}h=l;jWle^{f*Z#Ou9sj%%&Q!x0w0$ZE z*Md88-?rRWkt0<(QkEmnPR1Ujzw)dFtMWjZ*F9K;WSwk-fILSVrW((pBw@Id9zn2K zA22#vL|H#j(=$QyDrHN7`WIN@5wt=)fd8_;B(kHxXPv}?fIMFWXKshIvt&%*sg1e# zx;!B|j*Qk<$GqOa{pm!|Rz$#R55eF>u;efK-@p$V3DoXhrv1G7CMlX&hlM}#ZhhGFa^5=@5aVbqvs`Il!Nkq=2}IuYs^ zfP^46*>NDvFzA@3Mv@OuAll-k0IBHgS-V@7`z;rwX;zpow!i`*!C`R`7=*5CtIHHsmRaB)+W~tAtXfjni6+S+%NcYG-C63bC$LR_8V4fe z5z>LLeP8;%dGFhgD)RBFe7tPe`gbkxo3$D4xEJ_${SM5lzpM2$yi9Ihz3VcX=4qUb z8#vp(0&x*-<+AJL=X~oLV1?U!Uum`4gw?j36$P?(tr2Cf8H7|fo)$X8%a)x3Vv3Ar z4eOkh!6;tP3e5BZHv#&X+uGF^&{CShXNit$z!7VmEghHw{z`E`^(V@_?z$Vpc{&r|Cth6)AqS?TrmM=W8;l3c^d{%oR3=MJ(a6EwCB^Y^!0;Sn14vFF zIfWz!#PsTxIXjDzN9PDOC5~Zs9?kHUXCESoBEenHoFJo5z}{JD`m1$^R>n&4 zvKWF|5ks|}-jyq*WLfNmS`m9|-Gf&DU|Afjh=a92&)R2Yu@7oR?5knCtNut?#99#} zyP_<;yGwwqCwcSGY97bA)K0>J6oA~>#3M)%90yH1fv#igI%X#CbJ zYzBR(v4fZh!^}{-0pAH$R(S@aVAaU#3whYW;U$LuL*Rj^F988O3qp+qR`_3y^p)-U ej9e(U)*3lgZmqjwOu$clIsJ$0|9wR-_w7FwRLYwG diff --git a/Game_Client/Classes/System/__pycache__/Window.cpython-312.pyc b/Game_Client/Classes/System/__pycache__/Window.cpython-312.pyc deleted file mode 100644 index f345dc886b58d5002e3e0b867c60a3501fe1295b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3104 zcmbVO-ER{|5Z^oB*%xCwA;G~V379l|9HjxOs#FMgz=Tji5($H-EW=@Zo5bc~yL%TR zM~TEkDkTyq?NdTuC{KVQ)bdnNEAa=km55T5=t`wZZ6A0Gq*5iGIlcnFn;!p(63}d{y@PSlFO`|0A_~hL>CN_!dWzghoXR-&k%=vDIe!0 zLmHA(vOq-AO>}vJ=>9p;*(2pI3u@pc3cade3;TcsPZTpuKb50~4w8Ja$P7K}m^(D! z3M+dBJfD)3pp%q%0pdvcs6=I5JPIbdFXiWw#3eZupbD({QKEJEE$%Kg6RZZ@)#e(t z%jRS2b>N}!-D7$kmGmI|Hc_SDuZJe&R9FvBkW>U$`b9l5A*Jfk0{D918@Q#YHvqp` z-wY9TtluAO8)3akZ-Vu`>(}%9*6YA$3-~naQMwiQX5eGxt?E0r|6;D77e`*keT3K% z&5<;1B&S=0FF%Ef*!30VAk7U7T5lRlWoxilh!13jXq*-Xas^uBY2_?~);O72MronO zAZrw}*KC=eVEdgtZJE1eJrv;ukcXhi$`M}CF=32osOMu$1PS!6&qNZw;>X3$pltg8FPn*Bpny~lYdhKM{&{$E6!J>Tj)=duEUC~C9f>T6=y z;Er0Iw^Nxs5PH=hLj}W|voH|bUn*nu?0}v#OGc(_D<-wHp`uRh;He8|&n6S+y1IH< z1Z|~UA!pf}&>)*BS-E0Cm2AnRMn7x74KaGw2*kuV<1pSN5=YV(Ov=o3(xUWw`Xn{4 zS;bQNe4;zv)6lGS|7DOww{hZ8Gm-L=cnt7eOKoD zt}Mhd=mG%`lg=8y0LkR|lCEj+1lnKM8 z@c{D7T7WUpHqKgs+WvF2pi?#)cH?)%ZDfpfBykCqqxYw^} z;%Mx~fQ7pie(NkCn!Ok}2G?fcJhr3SEO5oU;Kp_#!SvgHMy+91SXF1NBQFEi3(Bxz zi%2@vhjJh$*-jv}0H_N)jrX-Dr#b0}4^!G(A2w{!D3g!jT79ak#V!6c`DQ z<_Itdiu_tkf_~$MHRoCi9#&P+mUNaG;W2y3dmsE)6|f#nk|mb2Xg7v4+U%BbjUFEx z6H||H4o?TCf?s?%bL`7w&y}6-ZASQGT?=t+jQln~0P|nB@mks zsd=e!x1-y=6mFWnJau_NYFYB~*ESz&TaembNs9czY;u{vbl;gCCst5;9TVj6vR{zf zW|J!fCggX_n#k{1t8bhA=+5!m#~nLGklVjLb+6}c&tk{n`HsV=ZC_SIxlfp-e-oUY z+hF`^z)4@&dAmCyYZ=3|x492!XW!L4K+5c_;*d$;W=Gc=a6CCl;|Yp`RW)gEl%r0W nkF(RTfX&0i+ARA7LHLz~Uyzo+$f4iJo_{1&=o4NOq}=^q+2D8t diff --git a/Game_Client/Classes/System/__pycache__/World.cpython-311.pyc b/Game_Client/Classes/System/__pycache__/World.cpython-311.pyc deleted file mode 100644 index 65cde385dc53a0d2865d6deef9810b25a09215d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmZ`%zi-n(6nI`@0wfz(uGYwK*UaVL1FrP6^;qw`|>_pK&E-enn2bh?a+L;Jy9iyMX6f$>Fq=W&IL*GT1p09<& z3Y!Z!haxM~-`#${OQHIIAuCRGQGgBHvK}>JG=S-Q=I&(o-c{EzMk<@;3!5=^3e~Au T3#Z7i(Pj8eu|NMfFdhB^6?D4! diff --git a/Game_Client/Classes/System/__pycache__/World.cpython-312.pyc b/Game_Client/Classes/System/__pycache__/World.cpython-312.pyc deleted file mode 100644 index e5851d52f0980325e79b5057193d513f59243661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 774 zcmY*Xzi-n(6no54L>WXH}DrTnpQBR!{ zMZ3;LZ6hI3Lq^Hx&m4wl7qJdXR^9^xly7x?OH*17r2R=eNVJO{3{)skLs+js(|{S5 zI(l|gE#@cgQN|SnoZZ`eU3*!3v$qW11|J(gyqkIh16{vD(#NzRkyUZg6FG~C*MvBj zMR5_)bitWBP4_V|tLzri^(J~hL*6K#K$HF)XbI*T!U9e>b8Z~F%-MQ(=R@m#>n|WJ uYA7AmTrR70gBZ<~w>$N=i*Z`|D*9-ZhW?ggn=$qa>i@XQwoU*culWzF@t(W@ diff --git a/Game_Client/main.py b/Game_Client/main.py deleted file mode 100644 index d243f0c..0000000 --- a/Game_Client/main.py +++ /dev/null @@ -1,7 +0,0 @@ -import pygame -from Classes.System.App import App - -if __name__ == "__main__": - pygame.init() - game = App() - game.onExecute() \ No newline at end of file diff --git a/Online_TCG.code-workspace b/Online_TCG.code-workspace deleted file mode 100644 index 51ec5f5..0000000 --- a/Online_TCG.code-workspace +++ /dev/null @@ -1,12 +0,0 @@ -{ - "folders": [ - { - "path": "." - } - ], - "settings": { - "cSpell.words": [ - "MOUSEBUTTONUP" - ] - } -} \ No newline at end of file diff --git a/card files/Card_Template.blend1 b/card files/Card_Template.blend1 deleted file mode 100644 index 184db21930e2cc79fde93f7b77dc3076d64dc25e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862444 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 z 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

(wp-?qQs{LVx_CEzO};hU5K3MchYswzZ2o#hL9Q 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

yAdbAt2n+{Cqx&mnM~< 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 z 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℞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 XUVWtg@_s%3QR=6%MGBF?KmPt7p^e;~ diff --git a/card files/MonsterCard/MonsterCard.blend1 b/card files/MonsterCard/MonsterCard.blend1 deleted file mode 100644 index a59e989e601d9a3d5427f1bcee662be23e349a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862444 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�Q=O?*5@=Jh$=1nJ{Bw?lgm!+p%- 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 z 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 diff --git a/card files/MonsterCard/MonsterCard.mtl b/card files/MonsterCard/MonsterCard.mtl deleted file mode 100644 index 74dd202..0000000 --- a/card files/MonsterCard/MonsterCard.mtl +++ /dev/null @@ -1,2 +0,0 @@ -# Blender 3.4.1 MTL File: 'MonsterCard.blend' -# www.blender.org diff --git a/card files/MonsterCard/MonsterCard.obj b/card files/MonsterCard/MonsterCard.obj deleted file mode 100644 index 79b6460..0000000 --- a/card files/MonsterCard/MonsterCard.obj +++ /dev/null @@ -1,45 +0,0 @@ -# Blender 3.4.1 -# www.blender.org -mtllib MonsterCard.mtl -g Cube_Mesh -v -1.779980 -0.015007 2.505141 -v -1.779980 0.015007 2.505141 -v -1.779980 -0.015007 -2.505141 -v -1.779980 0.015007 -2.505141 -v 1.779980 -0.015007 2.505141 -v 1.779980 0.015007 2.505141 -v 1.779980 -0.015007 -2.505141 -v 1.779980 0.015007 -2.505141 -vn -1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 -1.0000 -vn 1.0000 -0.0000 -0.0000 -vn -0.0000 -0.0000 1.0000 -vn -0.0000 -1.0000 -0.0000 -vn -0.0000 1.0000 -0.0000 -vt 0.375000 0.000000 -vt 0.375000 1.000000 -vt 0.125000 0.750000 -vt 0.625000 0.000000 -vt 0.625000 1.000000 -vt 0.875000 0.750000 -vt 0.125000 0.500000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.875000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -s 0 -f 2/4/1 3/8/1 1/1/1 -f 4/9/2 7/13/2 3/8/2 -f 8/14/3 5/11/3 7/13/3 -f 6/12/4 1/2/4 5/11/4 -f 7/13/5 1/3/5 3/7/5 -f 4/10/6 6/12/6 8/14/6 -f 2/4/1 4/9/1 3/8/1 -f 4/9/2 8/14/2 7/13/2 -f 8/14/3 6/12/3 5/11/3 -f 6/12/4 2/5/4 1/2/4 -f 7/13/5 5/11/5 1/3/5 -f 4/10/6 2/6/6 6/12/6 diff --git a/card files/MonsterCard/MonsterCard.png b/card files/MonsterCard/MonsterCard.png deleted file mode 100644 index df2429cf3eac029f6bfc5d6b7ff309cce098875d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22740 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 diff --git a/card files/MonsterCard/MonsterCard.psd b/card files/MonsterCard/MonsterCard.psd deleted file mode 100644 index c6a22f23628d6f167c1500a8f09206731393e8d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 325101 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/card files/Templates/Card_Template.blend b/card files/Templates/Card_Template.blend deleted file mode 100644 index a59e989e601d9a3d5427f1bcee662be23e349a1d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862444 zcmeEv3t&~nwf0Veuq#rnR^_EeMF{c=At8Z;yaNZ7hY$f34UYs81%e4EsMTnzo@=Yp zr)afWZ7tUNsMiNt1q7<6RjakFa&K)*TYJm((f04{y`|6nuWx3)bLQ;qeUcMW6Js_^ z*39g+*37JLUVHZJIhAMC%&o3jFyYcEx%msk8*v=x)kk)gT`3e-hH-xtx^QK~x&}mc z@v5y^SnFQzIPMSsI&l{i%LURVu1egPF=M>bPe0uoJ9ex$Wy%z9(xgdVZf>r3(n%+I zC!BCXs5|A9Q@n{2Cn{OUj2}N<$)%FPJ;;H-BfkFo;kG|i+njppsS3AIqegib54p|T z{LzQJjfa0TEqCeQZ+1xz>0Ex)!|}A19C?Lz`q@?@{LxY(<# ztn?}>DwIQ;P1hmKdous%J>Ymf=B{`5c=`GH%1xa*HSV|L3JMB5zbh;(RB@1@D=I3A z`xytmY15{8ptb|A9j3peyr5lt7_VP1(hSN28=FRiYKKpEM;lhQAb{2Q?^=AC-^84*U8`-v` zJ!yZ)(D|_j58^=S5Qdvksp|&Apwp*MSNGtzWf9LX`N>PYq~t}I`SO*HqE<;|Hh$IHvh>+$w)_x~tAY(g85`fUat zVnO?o(*DE))Q*E64&$dCPkkj7x?NHqDDT;E@IxNd#?v3hJ;bprHf4NJT@S;*JU8Nf z?uggK{V33V@yOZUT}K=h=x#iAs8=o6pL_1PUPD7eufe|~o6t@+AM1c^dw(3{;KJ|= zil5O1{Fx5Z^5+ThjI+ytc!pUAz(+qQ>VZA}BTN}TZJj&L+Y>p>du7a2@6OS+Ud5E+ zP~Ks~hN*dEPmljW?cXjx${1uj!~s9vBMrhdC=Rw~`^9~_85P0(Klp7&eml z`w@pSAwTi%aP{daGA!Sr_N zAYDF3^alLx^4d1A?PJ@Eb_E9XgMtTfptd7cyvH!c0QyP8@aKI$wbOy0b&B!G7i8>w zGOu>|=*K<3J%Cjz{0obwdM~{<+WYhWHhA6}U-7&L_j-SCd&fIa`ggCn@XA2^&pPX@ zUeo{k%L^OO9;C3R--fg+Z4HVzJIuHstb^h@i+|AE0crX1XZrp;kq{ zm&}^t-TKc--m~5n-Y@_8UGKeL{>6LgHqZOUT+drJ_SSZ`gzk$jx~SLU4?D2@q_%Bn zBeumb+wwjrv4-90N=i!Ne#VtnYF>mPL+bZK7IAdsqaK@rhxO9VJNO_hSS52VsqP8z=Z@RO&Wt$NTw^KJGIgq;?$hjC=HxqFjh)`9M*A+@~Et zJBvSf$6i0h%l9tx&hx(St@!Ofyjiz<-l^3;79GLk|9$t}*Gur<;}sPqmz%b*?PJ@F zb_9jZ84kjMaefRT7Zg`op|Qn%x*$HrQ9mg7?J)h!A1UJfWy3wz1G^3&uA}x({&6ky zywi5y<(>BI%iidE<(3a5{(wd+^(JfMFXW#35|sKXrP!SJkjJ?&e;+)vLSgc5immZSlD3Wl^=hgEgMH zbLV=?moHb(`*n47@%S^(JhRu}k212XEI(}HZzr@VcA~edOuKIT^*0ddn3#xdc*TyXYi-}U{CsKOTXR0RB* zKXlp-e0CUq@G_3|1ab7+^~A=Wb-~~M!CzKZrq=(@Ip-X2{`~pgk|j$#v}dmCca|cJ z-he;L%JLImVoe)?!j_1KpEjgDX=j9kFk_sbf*%g@WmUTFP!}lg*>TWehmjZXF;C1h zc<3hu56cLOc(!>`#IrB7`+x8vZPbDC@^aQ5w`6OzaJm)1mTZ3@Y4D5N4(7g zJwdt<2VOfLh(p-UE5mjjK%5_c+5)!e2>+!^mwM-&cbj_Jb`5^@#>m(@RLG3ak z%(9c>KKnn=j_?Qeixw?X?HxMsEPy@(a$yeR3Uv2|{@*Su{3t(d0qVCI?$egI2S=OR z6xfC1FMY&}Vz0DZ#)1l2_pOmWBr?q_JG;m$o>%0RERZzLk^Nvx#4VLP)yW#g3VAl@Ot(}uq@_=C?bE6Z-%1pB3DPR#YDkDs7y6I4IZ?(rM|dDsKb_SnxI=D4=p z8}Of2lw99w1KNdU0;Pl9h&}O#y=@Ev@h=mehYP)u#{}2Mr+U+$EbyjnFYt=C=X-_Q zr+8DJ%<~GKob2U4nd?n?a-x^_!~}2h6SBAciE-YfCr6G^K($Y2cU75E!W?KS|r zpzJ|-;~pIC$#NoWJJ<+eo2owY%T{|gxEDx!&wp}~Zu7uC-sZ;%?gslOa=h_h7yON0 z=w{l8qo0)d1O=vuC)O+%%V?L~ZvXIO49^$r$Ba5n^$XayNq*e3za5|-d&aQG19QNo zYp(O=E?Tah5AaTaHtH?yANhbCKv^z-8^C?ok#@7~NjuZ-HnlNAJa8)djO?=w#XZsH zRez5*58NLgR^j9+U~?CZ!E%7hpUx=QQt>(Wk}t22tN> zr%AkgQ{{K~W(4y<)Pa_3Z}*lgySUvx@!o_#%WPBD0oVnO_M#0Dww;X!{dQYrUr={;4oSYml$f3>W=S$gSJ$1r_iGe(jW1f2x{;cbE`C$*+K7Jee?TawVM(ja}3(Jgf z(b}n|pGRBww|A?rH@KtS1AB%4=f|mW7kcP0rcggA?%8><{mh@8f0WfOpIsk-|M-F$ zZ*o_+#`noGr;pF;eeHd`U~c0+_VH2P*vC)xCf+o@UHiAwwDV%)i+CGf`0cvQ zveOozxDSlb|DSlG%>Pdt6Nvv<`F=9ryhFiSa8pyG8Yia8y2=Luf0U69cCc+gyUq|cvq#+lxhEnB>Ae)F5&op;{pT_EecQ)RCJ-W~eu z0Br%?y_Jg(;!nGP()rs^kezKD?6%2r�Q=O?*5@=Jh$=1nJ{Bw?lgm!+p%- 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 z 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 diff --git a/card files/Templates/Texture Template.psd b/card files/Templates/Texture Template.psd deleted file mode 100644 index 784bf750803d56714af0940beb33c026bac3a84c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82030 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 JAD$6^_&*njOCbON diff --git a/card files/arena _field/Card_Template.blend b/card files/arena _field/Card_Template.blend deleted file mode 100644 index ffb47f6aaf26b2c6d9d7e81bb75e80489e590225..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 868928 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≠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 C9nb(O(1^b!L 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

    S4HC%$Pspzq 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 diff --git a/card files/arena _field/Card_Template.blend1 b/card files/arena _field/Card_Template.blend1 deleted file mode 100644 index c01db4f36799aa4b759c8407b7ab53db21235cc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862520 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 Bf!P26 diff --git a/card files/tcg_concept_card.psd b/card files/tcg_concept_card.psd deleted file mode 100644 index 16c8c6e303e62403caf4889487addc6667294f29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 246781 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 KChk3R^?w1HO|D`9 diff --git a/card files/tcg_concept_field.psd b/card files/tcg_concept_field.psd deleted file mode 100644 index e425460a8059cb686d9d63bafcd36d859c88fa78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1003285 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 Qksn>@ZK($Sl56090F`LEh5!Hn diff --git a/card files/untitled.blend b/card files/untitled.blend deleted file mode 100644 index d569eb52b933bc5aeb25c58440f265aceab00549..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 862444 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

    T<1uHYVZx%v_BrcFP}5q7wT z@-Uud1NP__(LOOh!n_~6uocE{yz4n{A!{!tFp1J--j9<&Q> z=u+3t!~t>iyEKd+^thN&Z+V5h&k@Hkshbw#TzTdb6!C7D@0aKQNs|h-tx!Ici{%HUT|j9k z*M_t);^+qr+n;g7jnu_28z=Zznemo!pi%fE-c6T&#=Ch%9K$RZ_~{2F{_rEcOE0}t zw}1FCuLn+1n8J2k?{O*ifJN~m4l-!}=bwMR&R2J}|A`YPs5NWW==P6(D2%&nAKHs{ z1a<97`$ypqzOakJA3Ra#0Ec;zR$Mx`=jIV%=ncmsj(jX9c;H7{K%WnsfIrstFcx4w z;5uTAHG;6iGlR=ZKXgJ4?H@YP$2@uSvEB0g$N3-f<39h>4zy1k*0d}5;SdgEg*ey{ z@$GSywFX<4H%i`(LmEt*c_BqS%R!vou-ont4?AF;A9H+Q#`kyly|%7!(1(5k?Z2t1 zNv{=jXZyeU>Z|n}gzcYw0BjMq4Qxsqg3`vcCn(}*bKVC9o^CiUF6tckT(V3Pl<9`^ zhrGi6pmfBB_i&$a^dk(cL0#v@(I0gV zFz>mtaemehrVYxxGLJ6q@FRYT)cw+g%s=PM((RyJ;xRt6|L;nQaRm5doIx6ICjKwq zH&ngwP`%pqk#`9G6ZHBc`Zu(H*n<5ZD8j4{q_9=key}m)Xk$>k?=VCeF|UoP!G z92e$`(&gsC%?tf*{^un)LJ>S8~*C@IyJv!s``9!t(qX%psk{h21S1`Dcm1d-tr(E<)8!45cp0Mdj9RhXRB4$e?`sS_+|CXJ(J(G`QLB8G+2G_ z&ZE>bxB9AT$>nN|YC@slTz9^j zT)9+DEI(IGs#vPdUwWaOJASUJnIXU9HvL>3UsU&ARam}6`@t9IimR5XB`Y?oN#%>x z-5;5&&Tn~AEqVVA^~|T`_k-S~ePA!&canPP(Ps69YfcdSuTU#*_=Z}r^$9h#a+Y56 zz<2=sFS_U=wPM8zU0-Q0+AnNtV&PI3BgUg2hoASN`t|VqkGxD96grqE(r}!{HPnA0 zj%^-w8xHar|FjY{f75gwM%yl&T&C*Re^?bK-=`+e-lXc5yzShIW#18+F+($DAfQn3g6#anN^ zRgaf=4}|?csB`U^4`R;;))TRQ*xcN#$APAEPgCpPJ3?KuOuj8HDON=?HWU?2QZq$w zZEcMndrmp!WI2DpxKoARRPZVFh5mn4pB?yudaD0G?XImFt}3TvZ^{gLPASN^v189v zbLtA!;zbM9h7HYX-MUMp4CkuFix;VL7cZ85NDFm2QGS$nnta=dF$#XXzs4Fk<|(I~ za!SUXcG_v`y7zotZSVJ2^|>RyEZdg{YBx*9GrZS=bDx#Ceu6Vn*RNl%8XFt+{wM5# z!rB*p3laX!n>VW&3s$IkTfU;!T=%dZlNMh7u$-Oyh`Qh!xQEsG?|($i-Sm*U~Ylo0#!L}tXh(&Q5Q@)UtL^Xuj&g&sO95NRSTw{t}4pp3`CKGe4<2XX@PwIJWee- zdx~0mj{NTAq8aLfrL)zdxs~ednWbuWU5R|pJuzbwl!5D;z%1-=A9Wo(Gbfy*7M!_C z%^xeje=BF7z?E6sg3o<7hA`}iwHmCMM^VO2O;pIZdXD23TE9bU7N|tcygTxt0XRa~0T_se9SGkHov$0JY3pB`f>lWJ;tRc3rb9pd~SSc4DGOPt#QXW$sM zCKUCo06ECOKIk)$M~t&*e^_fm+c{h6Z$h3yz=JhM)M4ZU{RiqW%7;9xlyMpHupRP- zadg%!^IO!cm#E(y%dffS8r9O$qQi(sxtRw%gQ9H61N5*Rv5q4>w3q9zzh0+@_KLi+ z-|VRreLeaZ*lgLB�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�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

    |QM7#6?~_ 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 z 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 Date: Sun, 21 Jan 2024 23:03:24 +0100 Subject: [PATCH 2/4] added old code, fixed it (mostly), merged some new code to the old code, made it mostly runnable --- .vscode/launch.json | 29 ++++ Client/.vscode/settings.json | 15 ++ Client/Assets/Arenas/default.png | Bin 0 -> 10988 bytes Client/Assets/Cards/0/field.png | Bin 0 -> 612 bytes Client/Assets/Cards/1/card.json | 23 +++ Client/Assets/Cards/1/card.png | Bin 0 -> 9570 bytes Client/Assets/Cards/2/artworkjson.png | Bin 0 -> 2389 bytes Client/Assets/Cards/2/testspellcard.json | 9 ++ Client/Assets/Cards/3/artworkjson.png | Bin 0 -> 2389 bytes Client/Assets/Cards/3/testtrapcard.json | 9 ++ Client/Classes/Game/BoardField.py | 85 +++++++++++ Client/Classes/Game/Cards/Card.py | 105 +++++++++++++ Client/Classes/Game/Cards/MonsterCard.py | 88 +++++++++++ Client/Classes/Game/Cards/SpellCard.py | 72 +++++++++ Client/Classes/Game/Cards/TrapCard.py | 72 +++++++++ .../Cards/__pycache__/Card.cpython-311.pyc | Bin 0 -> 6423 bytes .../Cards/__pycache__/Card.cpython-312.pyc | Bin 0 -> 5777 bytes .../__pycache__/MonsterCard.cpython-311.pyc | Bin 0 -> 5665 bytes .../__pycache__/MonsterCard.cpython-312.pyc | Bin 0 -> 5506 bytes .../__pycache__/SpellCard.cpython-311.pyc | Bin 0 -> 4754 bytes .../__pycache__/SpellCard.cpython-312.pyc | Bin 0 -> 4612 bytes .../__pycache__/TrapCard.cpython-311.pyc | Bin 0 -> 4730 bytes .../__pycache__/TrapCard.cpython-312.pyc | Bin 0 -> 4590 bytes Client/Classes/Game/Events/GameStart.py | 16 ++ Client/Classes/Game/Events/Login.py | 25 +++ Client/Classes/Game/Events/PlaceCard.py | 30 ++++ .../__pycache__/GameStart.cpython-311.pyc | Bin 0 -> 1181 bytes .../__pycache__/GameStart.cpython-312.pyc | Bin 0 -> 1032 bytes .../Events/__pycache__/Login.cpython-311.pyc | Bin 0 -> 1513 bytes .../Events/__pycache__/Login.cpython-312.pyc | Bin 0 -> 1091 bytes .../__pycache__/PlaceCard.cpython-311.pyc | Bin 0 -> 1727 bytes .../__pycache__/PlaceCard.cpython-312.pyc | Bin 0 -> 1797 bytes Client/Classes/Game/Player.py | 46 ++++++ {Game Client => Client}/Classes/Game/World.py | 55 ++++--- .../__pycache__/BoardField.cpython-311.pyc | Bin 0 -> 5037 bytes .../__pycache__/BoardField.cpython-312.pyc | Bin 0 -> 4938 bytes .../Game/__pycache__/Player.cpython-311.pyc | Bin 0 -> 2994 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 0 -> 2688 bytes .../Game/__pycache__/World.cpython-311.pyc | Bin 0 -> 11103 bytes .../Game/__pycache__/World.cpython-312.pyc | Bin 0 -> 10091 bytes Client/Classes/System/App.py | 140 +++++++++++++++++ .../System/Components}/InputHandler.py | 0 Client/Classes/System/Components/Label.py | 47 ++++++ .../Classes/System/Components}/Window.py | 0 .../__pycache__/InputHandler.cpython-311.pyc | Bin 0 -> 3562 bytes .../__pycache__/InputHandler.cpython-312.pyc | Bin 0 -> 2996 bytes .../__pycache__/Label.cpython-311.pyc | Bin 0 -> 3676 bytes .../__pycache__/Label.cpython-312.pyc | Bin 0 -> 3603 bytes .../__pycache__/Window.cpython-311.pyc | Bin 0 -> 3667 bytes .../__pycache__/Window.cpython-312.pyc | Bin 0 -> 3426 bytes Client/Classes/System/Network/EventHandler.py | 40 +++++ .../Classes/System/Network}/TCPClient.py | 4 +- .../__pycache__/EventHandler.cpython-311.pyc | Bin 0 -> 3132 bytes .../__pycache__/EventHandler.cpython-312.pyc | Bin 0 -> 2343 bytes .../NetworkManager.cpython-311.pyc | Bin 0 -> 6474 bytes .../__pycache__/TCPClient.cpython-311.pyc | Bin 0 -> 3475 bytes .../__pycache__/TCPClient.cpython-312.pyc | Bin 0 -> 3142 bytes Client/Classes/System/Utils/Path.py | 6 + .../Classes/System}/Utils/StringUtils.py | 0 .../Utils/__pycache__/Path.cpython-311.pyc | Bin 0 -> 747 bytes .../__pycache__/StringUtils.cpython-311.pyc | Bin 0 -> 1233 bytes .../System/__pycache__/App.cpython-311.pyc | Bin 0 -> 10541 bytes .../System/__pycache__/App.cpython-312.pyc | Bin 0 -> 9025 bytes .../__pycache__/InputHandler.cpython-311.pyc | Bin 0 -> 3476 bytes .../__pycache__/InputHandler.cpython-312.pyc | Bin 0 -> 3083 bytes .../System/__pycache__/Window.cpython-311.pyc | Bin 0 -> 3318 bytes .../System/__pycache__/Window.cpython-312.pyc | Bin 0 -> 3104 bytes .../System/__pycache__/World.cpython-311.pyc | Bin 0 -> 880 bytes .../System/__pycache__/World.cpython-312.pyc | Bin 0 -> 774 bytes Client/main.py | 7 + {Game Client => New_Client}/App.py | 14 +- New_Client/Assets/Cards/0/field.png | Bin 0 -> 612 bytes New_Client/Assets/Cards/1/card.json | 23 +++ New_Client/Assets/Cards/1/card.png | Bin 0 -> 4204 bytes New_Client/Assets/Cards/2/artworkjson.png | Bin 0 -> 2389 bytes New_Client/Assets/Cards/2/testspellcard.json | 9 ++ New_Client/Assets/Cards/3/artworkjson.png | Bin 0 -> 2389 bytes New_Client/Assets/Cards/3/testtrapcard.json | 9 ++ New_Client/Assets/Cards/Arenas/default.png | Bin 0 -> 10988 bytes .../Classes/Engine/Components/BoardField.py | 0 .../Classes/Engine/Components/Label.py | 0 .../__pycache__/BoardField.cpython-311.pyc | Bin 0 -> 4999 bytes .../__pycache__/Label.cpython-311.pyc | Bin 0 -> 3650 bytes .../Classes/Engine/EventHandler.py | 24 ++- New_Client/Classes/Engine/InputHandler.py | 53 +++++++ .../Classes/Engine/Logger.py | 0 New_Client/Classes/Engine/TCPClient.py | 52 +++++++ New_Client/Classes/Engine/Utils/Path.py | 6 + .../Classes/Engine/Utils/StringUtils.py | 11 ++ .../Utils/__pycache__/Path.cpython-311.pyc | Bin 0 -> 747 bytes .../__pycache__/StringUtils.cpython-311.pyc | Bin 0 -> 1233 bytes New_Client/Classes/Engine/Window.py | 54 +++++++ .../__pycache__/EventHandler.cpython-311.pyc | Bin 0 -> 7252 bytes .../__pycache__/InputHandler.cpython-311.pyc | Bin 0 -> 3564 bytes .../Engine/__pycache__/Logger.cpython-311.pyc | Bin 0 -> 1304 bytes .../__pycache__/TCPClient.cpython-311.pyc | Bin 0 -> 3578 bytes .../Engine/__pycache__/Window.cpython-311.pyc | Bin 0 -> 3664 bytes .../Classes/Game/Cards/Card.py | 2 +- .../Classes/Game/Cards/MonsterCard.py | 0 .../Classes/Game/Cards/SpellCard.py | 0 .../Classes/Game/Cards/TrapCard.py | 0 .../Cards/__pycache__/Card.cpython-311.pyc | Bin 0 -> 6032 bytes .../__pycache__/MonsterCard.cpython-311.pyc | Bin 0 -> 5654 bytes .../__pycache__/SpellCard.cpython-311.pyc | Bin 0 -> 4743 bytes .../__pycache__/TrapCard.cpython-311.pyc | Bin 0 -> 4719 bytes .../Classes/Game/NetworkEvents/GameStart.py | 0 .../Classes/Game/NetworkEvents/Login.py | 8 +- .../Classes/Game/NetworkEvents/PlaceCard.py | 0 .../__pycache__/GameStart.cpython-311.pyc | Bin 0 -> 1172 bytes .../__pycache__/Login.cpython-311.pyc | Bin 0 -> 1153 bytes .../__pycache__/PlaceCard.cpython-311.pyc | Bin 0 -> 1944 bytes .../Classes/Game/Player.py | 0 New_Client/Classes/Game/World.py | 116 ++++++++++++++ .../Game/__pycache__/Player.cpython-311.pyc | Bin 0 -> 2756 bytes .../Game/__pycache__/World.cpython-311.pyc | Bin 0 -> 11690 bytes New_Client/__pycache__/App.cpython-311.pyc | Bin 0 -> 4698 bytes New_Client/log/aruudvef.log | 6 + New_Client/log/azkihdia.log | 6 + New_Client/log/cssmtaso.log | 6 + New_Client/log/dypjnvwx.log | 6 + New_Client/log/ecnwzwpv.log | 6 + New_Client/log/ezuxqfek.log | 6 + New_Client/log/hpyfylsj.log | 6 + New_Client/log/jqqeltiy.log | 6 + New_Client/log/mhtlvsqm.log | 6 + New_Client/log/pbwegfvw.log | 4 + New_Client/log/qqebhbex.log | 6 + New_Client/log/rnwforll.log | 6 + New_Client/log/rrffvbhc.log | 6 + New_Client/log/snqncicq.log | 6 + New_Client/log/sstwdlli.log | 6 + New_Client/log/vzybrxrc.log | 6 + New_Client/log/wqfhotaq.log | 6 + New_Client/log/xqetosuq.log | 6 + New_Client/log/xwrmortx.log | 6 + New_Client/log/xxfpqmla.log | 6 + New_Client/log/ysnrngup.log | 4 + New_Client/log/zlnfjkpf.log | 6 + New_Client/log/zoukqhzj.log | 6 + New_Client/log/zpvgppfk.log | 5 + {Game Client => New_Client}/main.py | 4 +- OLD_Server/.env | 4 + OLD_Server/.vscode/settings.json | 14 ++ OLD_Server/Assets/Arenas/default.png | Bin 0 -> 10988 bytes OLD_Server/Assets/Cards/Arena/field.png | Bin 0 -> 612 bytes .../MonsterCards/testmonstercard/card.json | 22 +++ .../MonsterCards/testmonstercard/card.png | Bin 0 -> 9570 bytes .../SpeelCards/testspellcard/artworkjson.png | Bin 0 -> 2389 bytes .../testspellcard/testspellcard.json | 6 + .../TrapCards/testtrapcard/artworkjson.png | Bin 0 -> 2389 bytes .../TrapCards/testtrapcard/testtrapcard.json | 6 + OLD_Server/Classes/Game/Player.py | 57 +++++++ .../Game/__pycache__/Player.cpython-311.pyc | Bin 0 -> 3485 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 0 -> 3265 bytes OLD_Server/Classes/System/GameManager.py | 137 +++++++++++++++++ OLD_Server/Classes/System/Logger.py | 18 +++ .../Classes/System/Network/EventHandler.py | 32 ++++ .../Classes/System/Network/NetworkManger.py | 142 ++++++++++++++++++ .../__pycache__/EventHandler.cpython-311.pyc | Bin 0 -> 1903 bytes .../__pycache__/EventHandler.cpython-312.pyc | Bin 0 -> 1503 bytes .../__pycache__/NetworkManger.cpython-311.pyc | Bin 0 -> 11204 bytes .../__pycache__/NetworkManger.cpython-312.pyc | Bin 0 -> 10000 bytes OLD_Server/Classes/System/PlayerManager.py | 23 +++ OLD_Server/Classes/System/QueueManager.py | 34 +++++ OLD_Server/Classes/System/Server.py | 40 +++++ OLD_Server/Classes/System/Utils/Path.py | 6 + .../Classes/System/Utils/StringUtils.py | 11 ++ .../Utils/__pycache__/Path.cpython-311.pyc | Bin 0 -> 755 bytes .../__pycache__/StringUtils.cpython-311.pyc | Bin 0 -> 1233 bytes OLD_Server/Classes/System/World.py | 20 +++ .../__pycache__/GameManager.cpython-311.pyc | Bin 0 -> 6395 bytes .../__pycache__/GameManager.cpython-312.pyc | Bin 0 -> 4142 bytes .../System/__pycache__/Logger.cpython-311.pyc | Bin 0 -> 1309 bytes .../System/__pycache__/Logger.cpython-312.pyc | Bin 0 -> 1149 bytes .../__pycache__/PlayerManager.cpython-311.pyc | Bin 0 -> 1987 bytes .../__pycache__/PlayerManager.cpython-312.pyc | Bin 0 -> 1739 bytes .../System/__pycache__/Server.cpython-311.pyc | Bin 0 -> 2529 bytes .../System/__pycache__/Server.cpython-312.pyc | Bin 0 -> 2281 bytes .../System/__pycache__/World.cpython-311.pyc | Bin 0 -> 1183 bytes .../System/__pycache__/World.cpython-312.pyc | Bin 0 -> 1078 bytes OLD_Server/index.py | 31 ++++ OLD_Server/log/jopxlbza.log | 28 ++++ OLD_Server/log/jsrrepta.log | 28 ++++ OLD_Server/log/kawhnrji.log | 32 ++++ OLD_Server/log/olchcxfi.log | 33 ++++ OLD_Server/log/ploaokwx.log | 59 ++++++++ OLD_Server/log/tmqifhet.log | 23 +++ OLD_Server/log/usujxxks.log | 7 + OLD_Server/log/votjjlwn.log | 35 +++++ OLD_Server/log/wdqxolbm.log | 47 ++++++ OLD_Server/log/yxojocbd.log | 33 ++++ OLD_Server/server logic notes.md | 42 ++++++ 192 files changed, 2373 insertions(+), 44 deletions(-) create mode 100644 .vscode/launch.json create mode 100644 Client/.vscode/settings.json create mode 100644 Client/Assets/Arenas/default.png create mode 100644 Client/Assets/Cards/0/field.png create mode 100644 Client/Assets/Cards/1/card.json create mode 100644 Client/Assets/Cards/1/card.png create mode 100644 Client/Assets/Cards/2/artworkjson.png create mode 100644 Client/Assets/Cards/2/testspellcard.json create mode 100644 Client/Assets/Cards/3/artworkjson.png create mode 100644 Client/Assets/Cards/3/testtrapcard.json create mode 100644 Client/Classes/Game/BoardField.py create mode 100644 Client/Classes/Game/Cards/Card.py create mode 100644 Client/Classes/Game/Cards/MonsterCard.py create mode 100644 Client/Classes/Game/Cards/SpellCard.py create mode 100644 Client/Classes/Game/Cards/TrapCard.py create mode 100644 Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc create mode 100644 Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc create mode 100644 Client/Classes/Game/Events/GameStart.py create mode 100644 Client/Classes/Game/Events/Login.py create mode 100644 Client/Classes/Game/Events/PlaceCard.py create mode 100644 Client/Classes/Game/Events/__pycache__/GameStart.cpython-311.pyc create mode 100644 Client/Classes/Game/Events/__pycache__/GameStart.cpython-312.pyc create mode 100644 Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc create mode 100644 Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc create mode 100644 Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc create mode 100644 Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc create mode 100644 Client/Classes/Game/Player.py rename {Game Client => Client}/Classes/Game/World.py (76%) create mode 100644 Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc create mode 100644 Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc create mode 100644 Client/Classes/Game/__pycache__/Player.cpython-311.pyc create mode 100644 Client/Classes/Game/__pycache__/Player.cpython-312.pyc create mode 100644 Client/Classes/Game/__pycache__/World.cpython-311.pyc create mode 100644 Client/Classes/Game/__pycache__/World.cpython-312.pyc create mode 100644 Client/Classes/System/App.py rename {Game Client/Classes/Engine => Client/Classes/System/Components}/InputHandler.py (100%) create mode 100644 Client/Classes/System/Components/Label.py rename {Game Client/Classes/Engine => Client/Classes/System/Components}/Window.py (100%) create mode 100644 Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc create mode 100644 Client/Classes/System/Components/__pycache__/InputHandler.cpython-312.pyc create mode 100644 Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc create mode 100644 Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc create mode 100644 Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc create mode 100644 Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc create mode 100644 Client/Classes/System/Network/EventHandler.py rename {Game Client/Classes/Engine => Client/Classes/System/Network}/TCPClient.py (91%) create mode 100644 Client/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc create mode 100644 Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc create mode 100644 Client/Classes/System/Network/__pycache__/NetworkManager.cpython-311.pyc create mode 100644 Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc create mode 100644 Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc create mode 100644 Client/Classes/System/Utils/Path.py rename {Game Client/Classes/Engine => Client/Classes/System}/Utils/StringUtils.py (100%) create mode 100644 Client/Classes/System/Utils/__pycache__/Path.cpython-311.pyc create mode 100644 Client/Classes/System/Utils/__pycache__/StringUtils.cpython-311.pyc create mode 100644 Client/Classes/System/__pycache__/App.cpython-311.pyc create mode 100644 Client/Classes/System/__pycache__/App.cpython-312.pyc create mode 100644 Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc create mode 100644 Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc create mode 100644 Client/Classes/System/__pycache__/Window.cpython-311.pyc create mode 100644 Client/Classes/System/__pycache__/Window.cpython-312.pyc create mode 100644 Client/Classes/System/__pycache__/World.cpython-311.pyc create mode 100644 Client/Classes/System/__pycache__/World.cpython-312.pyc create mode 100644 Client/main.py rename {Game Client => New_Client}/App.py (78%) create mode 100644 New_Client/Assets/Cards/0/field.png create mode 100644 New_Client/Assets/Cards/1/card.json create mode 100644 New_Client/Assets/Cards/1/card.png create mode 100644 New_Client/Assets/Cards/2/artworkjson.png create mode 100644 New_Client/Assets/Cards/2/testspellcard.json create mode 100644 New_Client/Assets/Cards/3/artworkjson.png create mode 100644 New_Client/Assets/Cards/3/testtrapcard.json create mode 100644 New_Client/Assets/Cards/Arenas/default.png rename {Game Client => New_Client}/Classes/Engine/Components/BoardField.py (100%) rename {Game Client => New_Client}/Classes/Engine/Components/Label.py (100%) create mode 100644 New_Client/Classes/Engine/Components/__pycache__/BoardField.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/Components/__pycache__/Label.cpython-311.pyc rename {Game Client => New_Client}/Classes/Engine/EventHandler.py (82%) create mode 100644 New_Client/Classes/Engine/InputHandler.py rename {Game Client => New_Client}/Classes/Engine/Logger.py (100%) create mode 100644 New_Client/Classes/Engine/TCPClient.py create mode 100644 New_Client/Classes/Engine/Utils/Path.py create mode 100644 New_Client/Classes/Engine/Utils/StringUtils.py create mode 100644 New_Client/Classes/Engine/Utils/__pycache__/Path.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/Window.py create mode 100644 New_Client/Classes/Engine/__pycache__/EventHandler.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc create mode 100644 New_Client/Classes/Engine/__pycache__/Window.cpython-311.pyc rename {Game Client => New_Client}/Classes/Game/Cards/Card.py (97%) rename {Game Client => New_Client}/Classes/Game/Cards/MonsterCard.py (100%) rename {Game Client => New_Client}/Classes/Game/Cards/SpellCard.py (100%) rename {Game Client => New_Client}/Classes/Game/Cards/TrapCard.py (100%) create mode 100644 New_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc create mode 100644 New_Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc create mode 100644 New_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc create mode 100644 New_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc rename {Game Client => New_Client}/Classes/Game/NetworkEvents/GameStart.py (100%) rename {Game Client => New_Client}/Classes/Game/NetworkEvents/Login.py (78%) rename {Game Client => New_Client}/Classes/Game/NetworkEvents/PlaceCard.py (100%) create mode 100644 New_Client/Classes/Game/NetworkEvents/__pycache__/GameStart.cpython-311.pyc create mode 100644 New_Client/Classes/Game/NetworkEvents/__pycache__/Login.cpython-311.pyc create mode 100644 New_Client/Classes/Game/NetworkEvents/__pycache__/PlaceCard.cpython-311.pyc rename {Game Client => New_Client}/Classes/Game/Player.py (100%) create mode 100644 New_Client/Classes/Game/World.py create mode 100644 New_Client/Classes/Game/__pycache__/Player.cpython-311.pyc create mode 100644 New_Client/Classes/Game/__pycache__/World.cpython-311.pyc create mode 100644 New_Client/__pycache__/App.cpython-311.pyc create mode 100644 New_Client/log/aruudvef.log create mode 100644 New_Client/log/azkihdia.log create mode 100644 New_Client/log/cssmtaso.log create mode 100644 New_Client/log/dypjnvwx.log create mode 100644 New_Client/log/ecnwzwpv.log create mode 100644 New_Client/log/ezuxqfek.log create mode 100644 New_Client/log/hpyfylsj.log create mode 100644 New_Client/log/jqqeltiy.log create mode 100644 New_Client/log/mhtlvsqm.log create mode 100644 New_Client/log/pbwegfvw.log create mode 100644 New_Client/log/qqebhbex.log create mode 100644 New_Client/log/rnwforll.log create mode 100644 New_Client/log/rrffvbhc.log create mode 100644 New_Client/log/snqncicq.log create mode 100644 New_Client/log/sstwdlli.log create mode 100644 New_Client/log/vzybrxrc.log create mode 100644 New_Client/log/wqfhotaq.log create mode 100644 New_Client/log/xqetosuq.log create mode 100644 New_Client/log/xwrmortx.log create mode 100644 New_Client/log/xxfpqmla.log create mode 100644 New_Client/log/ysnrngup.log create mode 100644 New_Client/log/zlnfjkpf.log create mode 100644 New_Client/log/zoukqhzj.log create mode 100644 New_Client/log/zpvgppfk.log rename {Game Client => New_Client}/main.py (59%) create mode 100644 OLD_Server/.env create mode 100644 OLD_Server/.vscode/settings.json create mode 100644 OLD_Server/Assets/Arenas/default.png create mode 100644 OLD_Server/Assets/Cards/Arena/field.png create mode 100644 OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json create mode 100644 OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.png create mode 100644 OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png create mode 100644 OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json create mode 100644 OLD_Server/Assets/Cards/TrapCards/testtrapcard/artworkjson.png create mode 100644 OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json create mode 100644 OLD_Server/Classes/Game/Player.py create mode 100644 OLD_Server/Classes/Game/__pycache__/Player.cpython-311.pyc create mode 100644 OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/GameManager.py create mode 100644 OLD_Server/Classes/System/Logger.py create mode 100644 OLD_Server/Classes/System/Network/EventHandler.py create mode 100644 OLD_Server/Classes/System/Network/NetworkManger.py create mode 100644 OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/PlayerManager.py create mode 100644 OLD_Server/Classes/System/QueueManager.py create mode 100644 OLD_Server/Classes/System/Server.py create mode 100644 OLD_Server/Classes/System/Utils/Path.py create mode 100644 OLD_Server/Classes/System/Utils/StringUtils.py create mode 100644 OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/Utils/__pycache__/StringUtils.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/World.py create mode 100644 OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/World.cpython-311.pyc create mode 100644 OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc create mode 100644 OLD_Server/index.py create mode 100644 OLD_Server/log/jopxlbza.log create mode 100644 OLD_Server/log/jsrrepta.log create mode 100644 OLD_Server/log/kawhnrji.log create mode 100644 OLD_Server/log/olchcxfi.log create mode 100644 OLD_Server/log/ploaokwx.log create mode 100644 OLD_Server/log/tmqifhet.log create mode 100644 OLD_Server/log/usujxxks.log create mode 100644 OLD_Server/log/votjjlwn.log create mode 100644 OLD_Server/log/wdqxolbm.log create mode 100644 OLD_Server/log/yxojocbd.log create mode 100644 OLD_Server/server logic notes.md diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..23c2a55 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,29 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Old Shadowcrest Engine Server", + "type": "python", + "request": "launch", + "program": "OLD_Server/index.py", + "console": "integratedTerminal", + "justMyCode": true + }, + { + "name": "Shadowcrest Engine Server", + "type": "python", + "request": "launch", + "program": "OLD_Server/index.py", + "console": "integratedTerminal", + "justMyCode": true + }, + { + "name": "ShadowCrest Python GameEngine Client", + "type": "python", + "request": "launch", + "program": "Client/main.py", + "console": "integratedTerminal", + "justMyCode": true + } + ] +} \ No newline at end of file diff --git a/Client/.vscode/settings.json b/Client/.vscode/settings.json new file mode 100644 index 0000000..6b1a4ea --- /dev/null +++ b/Client/.vscode/settings.json @@ -0,0 +1,15 @@ +{ + "cSpell.words": [ + "pygame", + "yvel" + ], + "cSpell.ignoreWords": [ + "activateeffectcard", + "activatemonstereffect", + "attackcard", + "attackplayer", + "movecard", + "placecard", + "removecard" + ] +} \ No newline at end of file diff --git a/Client/Assets/Arenas/default.png b/Client/Assets/Arenas/default.png new file mode 100644 index 0000000000000000000000000000000000000000..ba5da22ccc75f0be2ff44b31e702347d8e45ddc5 GIT binary patch literal 10988 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 literal 0 HcmV?d00001 diff --git a/Client/Assets/Cards/1/card.json b/Client/Assets/Cards/1/card.json new file mode 100644 index 0000000..3ce8af5 --- /dev/null +++ b/Client/Assets/Cards/1/card.json @@ -0,0 +1,23 @@ +{ + "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/Client/Assets/Cards/1/card.png b/Client/Assets/Cards/1/card.png new file mode 100644 index 0000000000000000000000000000000000000000..320d60d34af39518b06c3adcf397345b883d202c GIT binary patch literal 9570 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 literal 0 HcmV?d00001 diff --git a/Client/Assets/Cards/2/artworkjson.png b/Client/Assets/Cards/2/artworkjson.png new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/Client/Assets/Cards/2/testspellcard.json b/Client/Assets/Cards/2/testspellcard.json new file mode 100644 index 0000000..f812019 --- /dev/null +++ b/Client/Assets/Cards/2/testspellcard.json @@ -0,0 +1,9 @@ +{ + "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/Client/Assets/Cards/3/artworkjson.png b/Client/Assets/Cards/3/artworkjson.png new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/Client/Assets/Cards/3/testtrapcard.json b/Client/Assets/Cards/3/testtrapcard.json new file mode 100644 index 0000000..13ed51a --- /dev/null +++ b/Client/Assets/Cards/3/testtrapcard.json @@ -0,0 +1,9 @@ +{ + "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/Client/Classes/Game/BoardField.py b/Client/Classes/Game/BoardField.py new file mode 100644 index 0000000..c490fee --- /dev/null +++ b/Client/Classes/Game/BoardField.py @@ -0,0 +1,85 @@ +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("Der Dateipfad zur Bilddatei ist ungültig oder die Datei existiert nicht.") + 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/Client/Classes/Game/Cards/Card.py b/Client/Classes/Game/Cards/Card.py new file mode 100644 index 0000000..3ef646b --- /dev/null +++ b/Client/Classes/Game/Cards/Card.py @@ -0,0 +1,105 @@ +import json +import pygame + +from Classes.System.Components.InputHandler import InputHandler +from Classes.Game.Player import Player + +class Card(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 + __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.__type = "Monster" + + 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) -> pygame.Vector2: + return self.__pos + + def getX(self) -> int: + return self.__pos.x + + def getY(self) -> int: + return self.__pos.y + + 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/Client/Classes/Game/Cards/MonsterCard.py b/Client/Classes/Game/Cards/MonsterCard.py new file mode 100644 index 0000000..63f1e28 --- /dev/null +++ b/Client/Classes/Game/Cards/MonsterCard.py @@ -0,0 +1,88 @@ +import json +import pygame + +from Classes.System.Components.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/Client/Classes/Game/Cards/SpellCard.py b/Client/Classes/Game/Cards/SpellCard.py new file mode 100644 index 0000000..5209399 --- /dev/null +++ b/Client/Classes/Game/Cards/SpellCard.py @@ -0,0 +1,72 @@ +import json +from typing import Any + +import pygame + +from Classes.System.Components.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/Client/Classes/Game/Cards/TrapCard.py b/Client/Classes/Game/Cards/TrapCard.py new file mode 100644 index 0000000..dcb6f76 --- /dev/null +++ b/Client/Classes/Game/Cards/TrapCard.py @@ -0,0 +1,72 @@ +import json +from typing import Any + +import pygame + +from Classes.System.Components.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/Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc b/Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c81c6ad80164f0a64cb4e4031a635e59c72fac04 GIT binary patch literal 6423 zcmb^#U2hx5agRJw$1lnHAVra)L`kt6+OZPZ`Er^_O{MxnPG|>mjF?bE(7cmOnIf6J zlVh=RN*4}56nbz910f1M=%H{O1O@UFnzufZ0s$QkH4vc4L*EoQ4?&(fv-iOxrKE_^ zyW{N4?Cj3m+|2AQ{}u>%30zM;{kt^dBjn#mn3u~yo_z?&=R_nTmnSK`d znR0T-bLROqSIWf^2f08*{s9qP61VC$CtK|@vByqAzJ#BCr38^%BnkI_kW3~x&3~y- zT30S+3SwTOK)bKzGaC}k8uF|W4C2|pIJ8V6XiduTK9QUfFLG}}x8wrM!7$`G5nCZC zx5%fun3Rk439BAsE&@_+YB!aD!q5 zQxF#~X#8A;ikdHtO*&o3tVx>3AabJCXP}}aXKAja)m2ORwQZ-QZ`DG<~1Zs zMftqeV-BO4m6cp!h2r`lQ|99WXfP>R$taTM%B^KqB#oz1 zR?(cGNE0$L%ru_^$+lTsMI4?rGYmgGW(sD-vogTX$)-c(ZnG$(Jqkp*d5Mn4Kz(U( z{>Uj-EE2M6;j31L?eOMUd%H>6=i!I~`EOpJ-B|`g`s|1WYN=XJz%Kt9`zE zZm0=xw~yyY!8bvsiOhfOxa+(@KIS-bgK%(f@|z@W<~33JTRJw~qHD+^+qJ+LR===& zlLN|n2N>mUje;J(ImM=X$Myy$7xVtW+}&nxn~$yB-Lc-@l*1N$C!p`zXWOx|+b;VU zh%YS$SZU3@Nm?~xr`Hm(AqU3xnVp+Xn91@W%+&Gj4dNIGmvh+eSMQY`v_vOK;*fQp!sKl#o4D;*IwPkuLiuM2crV|SwF zEcSM@<7;zdD<%@CIDw=_%A;6q-iWh&zM4^P#j}}0p{T@fN^xneq->PEFJ?hvYE_1M z!%@uvrHE&>iN|77_UPTE!iwgzmnL_yfGZotpw+rEijv9RmJ`F8_j)G3F8!9$BGufb zjTNkNZn;ErP*vQEdMl*Uxk64!r!~GAnlo2WD5em_Sf?1AnsY@` zD1Ls5-$Dyyi-kK9RnnP!=~hM)pf`=xiej`-3_i`Bl?qTiDXt2-fSfB!TA)aCP$@I{ zG$VU063Sc-%Pz$r)w+%HXuO){&XmAbF(GKYEajIe#sS6fq8LpSgGJ+)b9tzmVn)e; zyzUcxjkt0BI5+pk()+SR8pJtw2*4-V=`R3deWEhH$DWoT>|_z76y~e7?5S=u12~+X%ea47`ZrC%$_5Y5(A( zbG2)q%|4o~&hI;c$2u7J4n@94(Bd72{qVyNhq3qFBpj>qTmGj5gEhW(ZQJ|Vl}A^A z;ZcKOXuN7DQhW7L9#9{kpWpiPt=gSNXtEiaMAp+_^wH8@aB?>|xpVicQ;idEHG(tE z;LKj|o!#I&jbO4FOtM)9!jBgA22Sh_oM;Rrnga=7deo7VRlX@i)#&K<8^~x1VKp|k zbGjLO2|FS{Y^U~OFYU%&YQ)YoV`p^k*zvy(HOHor7*PjDVWeLTVdMK|C<;xtY3Rn2 z@kZ!$Gjtl?{3HX_^Q!;YR&vijw(B3;nQZtIO@E@!9(1fOBx7)Y9SFWX<@|bzfBQ_= z*ROB@v(_pJ-MBL9>nk9zzLHgF^^2Yb%97o&)=;w_+x9wlk7KKiwZ_7DJ8rGGX={bY z+Je6?xMadjaRJiP%?By?ZgE|ft`=oIZ&@my27!cwo`pv9tYLo|5=}Dm^V!3H|;Ub~ufSKUvG&Emu%yJnA=+@FWpk+TZ z)kyKzfg@uf1Y3Lhw?3&0G5Qvenwv_>IxYNi)mZW9EKb`}taX8dlTZ!}KIVls-V7RzWt#b-*%Pk|@uS(p>h=K( zx>J}?l(=aG2ia6VXQ8U9mNLt_$<6TKLkelys_UdAF~WFIP<8z^+Enn7eJVd26#SME_6PHxAW)qow`ERZvXd zM}V3Bi<3>?$#l9HGyEFvy7cm5P>ZMqOW_e!v5i!xDi=(CX};_=-Fa#LI%u%P?M7V) zA5kF|)dLR19oiK_Oz>xePG0~T25X6yj*g^DE z;nr<(>!n5V4x;~s_b2ykDhpKWmaPw`JRwiBVhLF_z&iwG_wNFsO-!8HUQAV?u# zQICIuQvB2u{Y~*r=_-OX0AJ_{!8T^pja&q{ACdn8AyBd1s;|4UP+7RYpnCk3iY@Lt5)8Hej_t@4{oe#s);KOPtT3M(nbv_DDgO92s zFVvQ|3s2sA@=;@Cx;Zjkxmdlv^mk57Y-tNy-9vXZ=?RQ)}b%azOb zFXP-V)cFuR4L+oLdbVKN0eBkxz&;;wovfYTPVN&xzRI%ZpTn%Fe<-rH6THs5VEbqR zKj#{OeY^?WoGV)EM@F<0K-XC9&h{qq$2tLYjw86yWardO9qYnV-=V4}c3#FV)^7(eY83qP33l3F znvrNoEws&Ce3&V*+9Hm#d#9absmX#h;h`rma9L_i8VBjA#SJ)euT9Mr*Gk0#oUr97 z``_~vGfnF^h4IuqrT<;8r{4rl_#6V36YGfK!ol+7N8wGq1kBL8z{4%O{0RU!)^VIl vd=+-9Bv4`ZH)OWn{-|WK-u~?KH#rVo_HbBzb?dFBZ}dCX{ryh}G5h`tAi_c6 literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3e97a3179d5b944e2ffeac541ca4e00d99083993 GIT binary patch literal 5777 zcmbtYTW=f36`m!RtL06yE|e(oB2uzt(-$Sq#et33Dk4?397lF4$4wa3EW=&Nq$!e~ zT{$5`J4WpSWZ*zH0@Tz?q$C$G zw1Q^NW#-JcXXcza%fGwb4g$}}*dOI(p#Fu7`Pd9%BL&0*A`yv8lc?TvQ4V-Z+OlAc zS~-+i)BJ)hYU7B7oF)=~he$S=OSw#An|-Q%lQyX*R-KB9c`hRS2bt*zr@5vwxkdF% zJR_xL3cPS39nZ@&VNSzdG?)#+f+%Hz$fA}Hh-{U4iF+H=vJEH;qfll=YMw*|iI29i zQ8uO%Q(cCwrVhpnsFm8H4%rEuh@6GUJC2s@lKlzbz$fb3c?{Tau=U(PIT_Usl#5Y_ z&&?PLz7?@X=1mbB9E`q+V#d zr9Rm@XOX-h?*V#81fcH+y+;~=8NHGZ+CIq-tyc;_+b;#79e~+37&!RLu$tX<}RfOA|>L*ggZ>?-8t0Rc6t8QW+Z0;c@}%rr z1i%)FX^|tU)6~P-)&ejRZ$`nJL?lQ8js#gF7Zrt+4@b5>Qd^U?MviLo)(-KQ>S(or9QZ&) zADGrs;q7Cd7$QK`uuvpBMSN=b|ITh?tfCccHT(m%dbiI5>E7+qSdS?y3Xmzmd`%}Gee zX7IMt+TyAjPh3?Ze$8 zs%CSu=QHVKMvh$^KRtUIJQf>ICjtBHcpB5H!eq0!hYD*)b9uTC%of}z8#TR&IFt_| zao!?zXZJn&<*BD#{?)*#TG!aBYwQQHeaT&RuZjMu=wB1}RmFV|rEkSUKe#*Z9jMG! zyCRQXueo1YC!Brwn>U_z_dPg%|9Iu%*JGuLpRFKU7l=1d;_tei_ViWw%Ee{J*XMz? z*F9e79QEFT%CY-tAe}%yxN`qW<$A4m1o@{P--FrvvumD_s%PZkXWtyE?mt=coLcjo zt9s7WJkxA?kN3gZ`)AjB_E&rM*Lor#v)6+MOZ>N@ukIUMIk9}A#4p*)_HRXRJrI6) zq#Ae?l>@-6M31cC`y9$zCkeQ`e(lnx^@#`{?Sma z_sBDN<%6Zkx@*tUba{Hs6|TC%4@bUpMSg_$KKS!Kc=;dEE6)`?jeoKCP7YiDI&7Of z(w1o4SfIdrirs5}00Qncf_3QDhn@s^<3`)mrkZa^Lu_WK8yveM&^CL(!Vb3{NEqIBo!d9?{i>F6NyU8G1v(%7Q^#>j+gl zLaSnEx8PVl-Ug=~mWFI-*0+Uj6Hk-y7h3>@s~zE0F}yoKa9mhGY~3!5jR~V_F6?Qb zF(l&%WpmrUD1Wgk26qhvoxRO7b^vmo73zg{6Nb)Dwt~1(zOgF$cMXDFxm&#<00>AD zM!f6HRO|AEa$!~M-`(;M!t9FQx;)0tMXW^hAU3#j=q}ueT`$UNjjfB?V410jg2QzB z)WrGLH_n&ytD<+;i(|>NZP&4&Igj5?#wBmEzkX%PgiX%^Yg{yR7U-5M#)%)4tpV61 z!Sxla>>xP}43+q=I&?IG{!RPxSl(;Gf=FAi*kR?C7;Nw#H{tLG0f$@PjFbgB$cXix;7pEUCAFlDeb$iE>uk5SwJ?nhG?ODbcA^2s&l NVAVPJUxE^5>VH$Gg3AB^ literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc b/Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..704782a5835ef0e525b43fee49e200d878f4da8a GIT binary patch literal 5665 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 literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc b/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f31c7ed0a7e9e48f392c8995af33f9f709b23d68 GIT binary patch literal 4754 zcmbUlU2hx5agRJwM^Y3e@x!DjN|YVTpzSFBXza#KoTl=Z)I>=j$0=AL2S$66$xtM- zcQPtgPF27UM4^W~2#p?8fDeUh!zd7-f1p2sCmbN+00RMvJoKq5+^0NsW{-Eeqnd~6 z?l`+MvpX}pJ2N}dU!u`4f#+Yp{;Tq-M94o7v7bP%^XfC`d_yRqLX{M;^;Ly6U(qL6 zG=I?#G=EiG3lswa@sYcPicbg)DE>;&7FHRsdr$p@ynvte6eTJwl0xvGh%OWa)Bj#= z1De6PT4PdaYvvNZ#*K20X&1lrsJ7&U7p{%sJTCS}!++TCl&8n}gsETH$-L$gH3C!T_ zl@(=K^ID^AG!!#XUMsCCrpS=(2d$=5QbE|QGBXF=GL}XAAfQD@LO*=BSz4o5CiML-wpqk%}1`A;95rj|7k15qn76iC3F~EocrL*W7ko-aYmyATJyO zXmn(6l8V!ByH@KACdcLu**qEqNiiGKTzgs>wyAW04tRqY<~aMe=?84o9t*Y{?GdRs zdgQn>0s`H$a|wszUPscVy4z#xNZDM_>*%T+=_2wedjusAhM@(MG$%0#Z{)d?e^k;Q z=9f#gT3yS3uH==qhPKfRzp)G>W-2NKposC=3|W*$ZS{^7Y7tkE7Sd+;L8-c~+-9uK zAXX@qL7rj;8yl+_-9fd%%7`yott89kT3M52Q?ztc>m_Q6^@dVoxO)tph2g1~(dByW zk-{{&RBb#gnbNAF$rzRlPsfz(_%{b00I|-lm_aM<8TybJTvlqD!WdjdFc{~m<)&gr z>#Ph}qg1uf5eJ1(FJsy%1WZv?sw)gnnc?9w+*4DeC9R~QljQOF;oj_xrB76asY|M+ zD36wIDe4zmy|MIRty-=r^8MMnOS9E7*Z>V?5OwJ;?8g%Bzq;h)z?sGd%Yn@1=n=`@ zAylglLR#1&-AMdv_J^B?L#bs3DCXNN4w@ zvu&zN7Yyk_N4oHREWW+*r^N2VXXEDe)4@ixnLw0_>@F?XZ|2@Za;BOPZW$q z0f?b)ItNYkWomq<*8cdJpr_6osq-kdI{}R$WxLtQy&E{xkkZ}URQq)!cL^C|fb10y za+mgVm-O5fBX`B3PM!U8#+bT{$V7*KuV7QivXd(T!92@z?+$bz_mVcW#~*L}u&WR? zj+8df)%|n4Gad^(3p&{t=DYh&ZkC-qf>DRR=fXlEXhy&VZ`oHC_fVvKP+wP-kLs%B z`{>wg8bHCv&O>8{){rlQZ>nfwKF=;9Ik?^cZ&aGYM^0l=aIX3R0CbtyK_t5$$?B1u z5y>4Af9QNSJ#M5g9Hg)Br?2bjw~X{#t+{UIbnDjke0TE9UK2WV#^88|e}@AwgHL0x zbEQnt)>+N7_qc<6@6mGH`wFzyvq;z*&?^W$qMr+VK`Kt@En)zczkms5s9Oz%JP@%rD~7kS2YHI>d3qfD`5qq$}$@R!R$2z7-^>XdA(j`JYGa3av#DX ziPu8Bf?!t>y^a8VmA!)i!`Q&( zvN3Ua>t5@@_GcaOGJLvtxtqv$MErCy-yO+p-DzFzh#B~FF@usXcEl8Xx|r&QV%s1z z0iP}=4#kncmECK5P!U1r+gaZHy~>+@Ff9h)8gsy)5XkPvp^^$@`$13$Ozl3}+eG?Q zKLF-wr1b!xlZf^Jpm4=H0MIc+djL?kGCiFR;_r9l-H!J= d6n`!Vu)hBdzYgw1jp5h+&DsC?kwM(P{{jaF`zHVZ literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..90a425e01b13278829e25b30847d10fe73aee0c4 GIT binary patch literal 4612 zcmbtY&2JmW6`v)S)RGiMN&FBgQWWJ6xr|&Tb{o5O6D5IE+Y%flff64GAq$4PlF3j@ zW_D$ijGP##3y?(uMJGu>5UH2et}po$dhbO99gx_%r?`jSgeblE)c0n&n89`zwwQn5(xPo1@m*Xn3EhZyF?-qmnSJ~ZFz3Pma=h%&YrS^ z&YtHt94QA!Y~%)!_ytj}pB&!*kEo#| zf|mG5PRJWYtyFfuoPi#*ITaF-$2={&3{6p4ziyXFWi zOdM&8kos9HKS_tqt8#vg4ud1bV4!&JIxnTQw2Fb0!0-9n^Ve2CP-UvFu4uA+cXdHl zKh_Gx)pwM9R*}W`=WndufDI7m^H~70I-kd~qB7ko9s>B8#c{S+q8LTx(T>X8CX6KY zIgtCL>G6L>|2X&5Khf|{*Zk8*7jD-5i${Zt&xE0EZ`IonVl^Sw5YE?x^M}$CVdk07 zzg?=9z7Fi&c^Iq3U#&;3)O}Ygd@~rX@L#x_q4B*dJ9%I|PlM6j)t%KwaJm+pKK$Lc zGqnq^*MoD7;H_HlRz0}Px(C9$OFK)Az=c}iLOqZKovRt1fX4eY6x&sHl*9KPa`n(l zIAAjl%@ZNoj7}b0+rL)fw_R1&6CvE3m^%DO)j)QQJ+D|nmUI9&g;75+ORegdl}nO5OM9xm=y`TYhMD8D3UwPFwW%;cf3gS~Z|8y17++C`zG zHGS@JtQ59OIE>JzNQ1UdnHJmQmPm;_;+B(6-2<_^VBT9SJW=y@VN;dgEvQD|V^q`g zK$13^ghqF5pk0K(R1tn6L9s;W&dnl(qFf&C1dE};5}?ij!BFuvJkgpb`ouHQ496Pb znObI1F3GV>e#Ei0sOZ|lKL9IV#=(ip0q+0)&zPL2__gl10-WDh{&_N#)}T}8ef6H z8DGiBXNrTgDia%_t0sBy#oUSjYhYN^Z-Kvxy9a4Aex|~I=`+xr1JzGQ^CoziXmErs zG%lF-#lUDQ7qEW|NjMHjyvB+AsMy+q2c#Iv;L^qW707TAhzJ;}`eV4wQZ6;d>81smCwfzgfAx z{bBXPI)AAdNYwd6b0l{EdgT{&K8EfWs~78hsOj=;N2}2~A2{Ym9GCa59L(*{9TQ-` zooCJ8@+T<$FwHw&Iv(U4(LMhOf#%rBIi~jR9&GJzp*-~i$Y+pDBAGxkj)ZkQd-zN2 zbQYZ^!RfR8&rqI3IkFczi0{XL1lh=6w(O*fPQapdC;XJeU!<5s>?ri<)_ZSurKD=| z#_W7yqgYVjA*jw;|L36WbnrT*_`}B7&=urZrs5_)7hW?WVUFGg5ie2|p9jZwj^qA8 lJpUx2?}_(cc22;r0)O# literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc b/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0871a3bfe128d7a0a6b36a1d317c04b7c955485f GIT binary patch literal 4730 zcmbUlT~8y|b;cf>v5hg{4{VH$S+uOYY{{}|pxLH05oB3tLK3mrMlQ<8@eHgTV>@?- zRdLyrO8a0{JoEu2JW$CG)pl2_N|E{p`V%~8Bt|2x6sgKX->B%*KJ}bCo?*r`4`pUJ z_nvd_J?GqW&pG#)zlOs>2ADwrQcc!GeTWj z*g@;3tHMsM;(+88BT{hFFAhHC3IpQMQ>G9Rhb8Z(M~nhx5c&?zK#c))NQ}e0VKD(P zDvkh*iAjKQF$FLoj!HbtOvB6(am*p$gj>CcE4E_NrHWrISG$Ml4 z6@*%GTQU+3f+)!)Qf?^add(Pc&>MC6o)L8rL{i+^D%Z9Mn${R{jMO(bWl1qc9Hg@2 z^bP;}o10Qeap|G#HYCGW-Y#xQ21jtz3la^!CyF9dYgc{SGut$+#b8f2mx!=9w%}s3t?b{#yb-BynuzQA(-cL&9mKjkEz(2wFj*E z&h{A~FKq&FjaUe*9klutdnYhs*rF;9>r|o^^>P@(nwT}}(kO0Go$V!!Y%O5zg>4+# z3AT2w^Ss!(oxhxN;6(Z^pGZ65oMZJb>16X3dDz{EHBV$9`~qtR(;Ua>yPKm<{&7)x zlq(f$wYrk~Ldr?o4Q00(e4_+2W-2no9!DcHT{N02=Inme- zm+H005>bR=wehG((1-IrgOjD|Cc%Rv=uZUQ$Kb@GQk2oFa`?PnUc9^UsVotBLslf| z@y3!Qf2q_P8z0rG<(ecsSX|y%td>D3XfS!m8_Qsd4K%&HVdcG<#xBVK%jS?xu}p(P z3b4SbEF{u;R|B})sW)aE0N{k)W+MhgU)x=FL z0X%?JEP1$k8oO~4yP?MNS}YI5fSw*dzKb1=Priz$4>wNZQz!AM_HVzNR&V@5jW1~N zh12*4C-D!|_?i}9gQ-D%bR3#U3*K`u2~)CDBp{exY05o>4y0VB4ejN}9U|mS2v(a* zo2KaAHSQHpSepFoBn<1FeLE!!cGAIM!@n2oTHbGjz;&0bYYN?(Qa-Hj$kNAk*>rjI zVloLJ?;&}d64=IZ0o+(d6>~WzG-9sPPV-2FAIcRU9OF?nx7>2M5 zaNXZ^_))6D|1H{xJ8pf%nwtK>kb9YeR!zEZzfai~1vobN&i(tyRic0UoI!h&*ww(Db0KzYMf=ye3rItF$ zET|K1!E2t%6^yg!&;;*$mvQ_c)$JB0fm*R^67vde1zSO?!&-jSfZ_&ACMa%#g0Ni| zcdFR$7lf~Niq-CjS5^r8>=0<(Rm3Vq76dX18j$M<(AN#_i+a6EXt;1lq)vpT5UqG< z-9RuQkU0c*5#Uci8pH(8ji9y2Jp?NVeuV(9h!>_~(F=w6k%|CIE&1<|ruQAM9vawR z-CzB~sy-a=aQLZQTn`Q&%yhUUd@7gJ6Y2fcmeS$U@Tpu{&)z!PJgzc2>*I z?%!`cJovoB&BCX0vwAGo;qX(roIaG=zt?)R!=>O;xfF7~)!`EGsa!%2L=J#y3_g{M zopD3H+|k@I6hhGXZjmHD4=}lUf^ea6GxAa_mDo(3t;dX z(z*c9aYVZSP`F%e0O%;9T>z+47@(8wpW^srFMy$OP~mH&JNZ)-22)3g<17xQeiWDi ziKmzkkSsKYAAZT=uVTETsb?8e-9mI`eHTjB?U}{;cB5W{3RRwQ{!@fdXG`OCJ Y{rzv)dVKIii%kBT4*%yzCQ<$V3sdy*fdBvi literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7fb7dd7234903ab6a2e6cb85a42c7bd1899d81ab GIT binary patch literal 4590 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 literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc b/Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..436d90072b8706d4696481c9100a279d76846230 GIT binary patch literal 1513 zcmds1&1(}u6rV|EcPG{K8?00z6%})6kJgH)G?5}`6h9C`K$e|pSi9McGn;Bll^_L+ z7sZP`CkuZ+#w|`uYpaLQC?>nH<-@j zvxFJTBu^Q>iPCgKZJA5sP`l#^hk>DAcgzJYEW8b-CIt+|pv{Y*02s4a5dhv|MqbAs z;U!c9|KDQ?zlUAcc6L%_0jQP>HODL3Zm5?dtn~PXiV^hxRq1%B@pb3R|layjRF<-#@B zv0Z-mR%WKq&VgN|%MDhiDfm(ncqP0W2tgGBLPN4njc`i zLjDd75D;iTF_wV4hdY@-tvQv6#6VXT*`KB8)D@xak66OBJ-9mn$k%plrZXMzja__L z(cRU1p#Pe>0@2uy5K%gjTO5vhdxOie=SrTkOvm9Y)TM9w6&V_`Vp-6u#e)&^Q?sTG zuNO}VZgG3wc8jUD-}2m9Ta--S_T1F0@JcE8>hoL()!C3lyouRN(WxwKU`j%AzkOqc zDlr`sgD{C9P}}4YeJVBCRh}3Hp9+)}P*t=}5-1=Y9t}G3nzYSQHMzGr=J^ws;df!gH9)9)^PnfaFe zdbK_>-58m!(@cYAf{us*Ku#w@a!-2dPq0u_cVcjxzY~hT6VX3OC@O?QT`%^WIASy0 zCEN0&Q+)!~KtgotEqboxv5Ldbi(}wZOpuR3wc;4#COS}!o+e6Gqo;|E2i?*{CxdQj bQ3D@op&d1B;4EG}t~^;>}!5LxUwBd|$kc-1skcZx_2ipLTiSoYfqn0rnYVA=`{tXkrP3IJF?at1{bC^W zTTM;|%=H*9f!jd@5zJ6?ZaN=Lgbtjif03!Dkxa2^a4 zhl$aKB0geby*FRuK3YE;J^Bar@#o`JjB@1L4QaEa-HD}>>cjlohiacIPX1Hlo6@Em zz_s*xg7P?wsI&-eb%AnA(3toJcc6XgreV&KkO(D%O6BNL?N0Cv{t&@(M(IZIfQoLG zq`{Mzbz-`@QmY4bNVYn& zW@Neh$F(jxoAp5v+2ijTZyMVRd)Cz<#6VRM6(VfYb6QY3&|0_!UmpIo%iHP_ zD#wgfmvfQPsM?^}i-dQpr;mfH7UjfAm?FEX9}8D+K~A3A7(E_t!;Yp|SN93&qjmL1 z-rXo6Jx1^G8xW-05{kZoi80qu*#k5;@LW8zy*NbR22&=!zB~IDfz#Rk E0s0~EKL7v# literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc b/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca1ef0eef13ca2405691fb77ea83c11e16c7592e GIT binary patch literal 1727 zcmZux&u<$=6rS0gUH|CXNlTRi2`JEjuqciM2PA}wz-dDcIF-`U#I-<{XHo*|-PO*< z!N?%10#zU+(yCIB0LiBk6d~ovfkO}d16(NwYfea^DK%Rd0r+CZ=`4=aB$sU6JHh?X{38yY8p*37uGfDAG#cXv)~2m(T5d}yCQ@+D^x)% zodI(!9Hh@Is#M@sssgiGi^VxfcjbMM@#d^Oc$?UqOztd<}VHZSz4xr3SO`0))rfN)D<;;w(8k z)g3>-mA;?8=R9x_I`^G>*$3I~_{0Ea&i=IW!^-!!e!SH^f^jA>X2%3nYd$_ltnA(5 zo#N)(PuS!ho9y(*KD>u0YXkc)#1>bUzv00bn}IKtvo_R@Rm^N(5bFlK3}A~u>H0e( z78~;y`1k#0Hd)hxLPGv_Fo#+Oh5Rb>KBOp;vzQV&dq8KQ_fs;cY8$c_8W!-hyacL6{$Z)Ri+2_~=U;Enf$ELzrQJ)9 ztS9X19=qDa9)VagP%41{Y^$ijt8}({` zW2phXS<4svTHt%wclqJ#CB!uDMdv@SDOj+p`%#%|UZhMJ!QbFxQH}iYO`TLt zGMqs-%#_ajLGs<2&(~dXIeY`wFhLS7S`wR-(k{ug^sh^1I-{dY-s_BxE_tmpI%0c_ zPW{Yd0_M1yG3Y$qyb%+$?Pq#+`>mect@i9+^}oOAp-%a;9ymoODNSu&i3ymtsm=C9 jZFZNmc{K6(MGZR3pX@EKY8Vqzrym%H7*3vsbe8@H-|LHB literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc b/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d5ef877e699436b563b1ddf162910a280ca3d69f GIT binary patch literal 1797 zcmahJTWB0r^xk>x%)XlRWo@=GZMC?d30SQlMX8&b7U{NPEIT(f>FmsKXPR_n zQ&K2sDbkdFq~L>muI6VyBM9o30YNq)(&b9O{PJ%#e&x$^Zg-P4P3wg@uX|o|9`~0- zB1+&~d-rR0Lnq`9WZEa$BG$hJVxHK$+IZZK-PCf{V>a<8*d(4HM_)-h3BICbn%?y%hRLR>&_D3F zV*?RC>-ty2GX>Xn7%wVYX%GWw6~6Uf0l-hv3Z0}K_bqanT}4@JsaE3~le zGeNHjT2326zs$n3gCYWG1my-07rcPuba0F$w1ByGS`}7U^fS%`IO3R{i1>xF;}z@x z>(bZPw~@`fk-r!)9^{8Z#-{RvEVvSSe*V1cOt@@pBr}vBDwNpRBPaQcQwRbUNLl_g zCK%)|VA2`LvfnQYYm?)9AOsdMI0ImoG?Sz|)#%zgAH5sB7e^v~H-0bKNOa%1bnDXX z5ATfK8v76PSIpRD%nmiXh@Sj3dm}sd`fpm#I`|?&pT<#mA1I zf30=j<1i_@)l86Ra;|69 zdZeCOF;n+vsw35RYKQBGUab|EPA>0TGtZ;CiRuwlKe%f3Nbfx>X3zanb+CG()?H5> zuMID~w5+e0Sx|3iCf|#h8lGdr)(FF8(}0T+5OyB<&|u5waXo4F8 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 + + def setMana(self, mana:int): + self.__mana = mana \ No newline at end of file diff --git a/Game Client/Classes/Game/World.py b/Client/Classes/Game/World.py similarity index 76% rename from Game Client/Classes/Game/World.py rename to Client/Classes/Game/World.py index a5fbaae..d5761c1 100644 --- a/Game Client/Classes/Game/World.py +++ b/Client/Classes/Game/World.py @@ -1,18 +1,18 @@ 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.BoardField import BoardField +from Classes.System.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.System.Components.InputHandler import InputHandler from Classes.Game.Player import Player from Classes.Game.Cards.Card import Card +from Classes.System.Utils.Path import PathUtil class World(): __boardFields:list - __player:Player - __enemy:Player + player:Player + enemy:Player __labels:list __cards:pygame.sprite.Group() __PlayerHandCards:pygame.sprite.Group() @@ -20,12 +20,8 @@ class World(): __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") + def __init__(self, screen:pygame.surface, cardWidth:int=200, cardHeight:int=250, cardOffset:int=400): self.__boardFields = [] self.__labels = [] self.__cards = pygame.sprite.Group() @@ -34,13 +30,13 @@ class World(): self.__cardWidth = cardWidth self.__cardHeight = cardHeight self.__cardOffset = cardOffset - self.__player = None - self.__enemy = None + self.player = None + self.enemy = None self.buildGameWorld() def buildGameWorld(self): # construct elements arround the playerfield - self.__logger.info("building game world") + # 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 @@ -52,33 +48,36 @@ class World(): eGravePos = pygame.Vector2((self.__cardOffset + ((self.__cardWidth + 10) * 0)), eRow2Height) eNamePos = pygame.Vector2(15, 45) eHPPos = pygame.Vector2(15, 75) + pGravePos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow1Height) pDeckPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30 ) * 5)), pRow2Height) - self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos)) - self.__labels.append(Label("EnemyName", self.__screen, "Enemy", eNamePos)) - self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, "Assets/Cards/0/field.png", "e-deck")) - self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", eGravePos, "Assets/Cards/0/field.png", "e-grave")) - pNamePos = pygame.Vector2(20, pRow2Height + 195) pHPPos = pygame.Vector2(20, pRow2Height + 225) pManaPos = pygame.Vector2(20, pRow2Height + 255) + + # labeling self.__labels.append(Label("PlayerHP", self.__screen, "1000 / 1000", pHPPos)) self.__labels.append(Label("PlayerName", self.__screen, "Player", pNamePos)) self.__labels.append(Label("PlayerName", self.__screen, "0", pManaPos)) - self.__boardFields.append(BoardField("PlayerDeck", "Player", "Deck", pDeckPos, "Assets/Cards/0/field.png", "P-deck")) - self.__boardFields.append(BoardField("PlayerGraveyard", "Player", "Grave", pGravePos, "Assets/Cards/0/field.png", "p-grave")) + self.__labels.append(Label("EnemyHP", self.__screen, "1000 / 1000", eHPPos)) + self.__labels.append(Label("EnemyName", self.__screen, "Enemy", eNamePos)) + + self.__boardFields.append(BoardField("EnemyDeck", "Enemy", "Deck", eDeckPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-deck")) + self.__boardFields.append(BoardField("EnemyGraveyard", "Enemy", "Grave", eGravePos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "e-grave")) + self.__boardFields.append(BoardField("PlayerDeck", "Player", "Deck", pDeckPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "P-deck")) + self.__boardFields.append(BoardField("PlayerGraveyard", "Player", "Grave", pGravePos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "p-grave")) # handle field creation for i in range(5): pMonsterPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow1Height) pEffectPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * i)), pRow2Height) - self.__boardFields.append(BoardField("PlayerMonsterField-"+str(i), "Player", "Monster", pMonsterPos, "Assets/Cards/0/field.png", "pm"+str(id))) - self.__boardFields.append(BoardField("PlayerEffectField-"+str(i), "Player", "Effect", pEffectPos, "Assets/Cards/0/field.png", "pe"+str(id))) - eMonsterPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1)), eRow1Height)) eEffectPos = pygame.Vector2((self.__cardOffset + (((self.__cardWidth + 10) - 30) * (i+1))), eRow2Height) - self.__boardFields.append(BoardField("EnemyMonsterField-"+str(i), "Enemy", "Monster", eMonsterPos, "Assets/Cards/0/field.png", "em"+str(id))) - self.__boardFields.append(BoardField("EnemySpellTrapField-"+str(i), "Enemy", "Effect", eEffectPos, "Assets/Cards/0/field.png", "ee"+str(id))) + + self.__boardFields.append(BoardField("PlayerMonsterField-"+str(i), "Player", "Monster", pMonsterPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "pm"+str(id))) + self.__boardFields.append(BoardField("PlayerEffectField-"+str(i), "Player", "Effect", pEffectPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "pe"+str(id))) + self.__boardFields.append(BoardField("EnemyMonsterField-"+str(i), "Enemy", "Monster", eMonsterPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "em"+str(id))) + self.__boardFields.append(BoardField("EnemySpellTrapField-"+str(i), "Enemy", "Effect", eEffectPos, PathUtil.getAbsolutePathTo("Assets/Cards/0/field.png"), "ee"+str(id))) def getBoardFields(self) -> list: return self.__boardFields @@ -108,13 +107,13 @@ class World(): for label in self.__labels: if label.getName() == "PlayerName": label.setText(player.getName()) - self.__player = player + self.player = player def setEnemy(self, player:Player): for label in self.__labels: if label.getName() == "EnemyName": label.setText(player.getName()) - self.__enemy = player + self.enemy = player def spawnCard(self, asset:str, pos:pygame.Vector2, inputHandler:InputHandler, owner:Player) -> Card: card = Card(pos, asset, inputHandler, owner) diff --git a/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc b/Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72f14ce69bc343978edefc4686690df17989a297 GIT binary patch literal 5037 zcmbtXO>7&-72YM6)JmeLf10FdiH@znlpLdJ>J|yov<>ASIkuWqb`GqP1;Jg(tI{Mp zyGm=8FlfLBw-C@C3PcATcnI7W?xBYsatM$^uRV|k0TT=4)Ke~n3bmJ9+V9Q&h`UsP zMqZL{zIpG>yf<&&yjlKfY-~ip^Yb5lqWx1Agnv-SeIgDxyaMpCpbDy377BJN7Q~Qn zRZv3@1vRXR+aY(*cGyLafu4H3f~1P;LQeXM#A_v2iQ1UcIsB_gb~K?NszM=jThPK9 zM!g9!MX$<%y&K#qCbBuD` zm=;#Y@QdR&j!~W!bpo78ExZ|1ryfd$m^uv{QfGk296SpgcW?rD9Jp@=XrBUi0^A|s zB=DqzQ@~SPd)oB~8fkE6IM?$X+&OS()yzYokWk56@_1?_W&(rGyM+#&NJ2Q6K#WIKSyVw zGsqqZSDhVD~OUlbZ*Lr^4Frx8NWJ$phUjGmWw4GBHZBNcNgIJNfEh@v;__RJX< z3BtCQ*)8|19SMON5x+;qq&at_po)H}hzhVS_|_hGwOivZ>TiSdw9x(Gnyv4!?Av-- zRf&_;4Kuq_+4|e(WmDhER#m8~x@N0qwO>Q5Ys}16^wJ&kVs6HY*6wXlmPd^m(@nJN zb}K82UeQfOVYID`ykoS9jP}k-`11BnwX7O>oGeBOVTF*NQjJnG$_*M;1anqQHbzpZ zTrH~BSgBh12#zSla_vshlD9Ndp?qf)LMvL*DyGJALzZM{CG)XlDcxTm&%|U|4&qynA-i-@9+Qa{+`|$Ki?fce;`DMm%fZmwx>Sm z#6IlCK5V;RD5tagndhmcXQ`!6U+<(YbyJs~r}EEI`A+I`H+A{Z%I@`EGP6JOJh}WV zx!g&<(oMbs=4x-@?0%g9wutWkZn+;Nq=m? zT84UGXzOh`b;6a>{tOtVU0v7f11lxo#TQvALQAE7z#x@_JY9yq1L!he#SnuWwG*k) zmgi2gT7;R3&46)Q?axq(g8NFm@A*yNYs<+Knx>y<64;PsS0x%xzJV7NhdG!J`se4#Bb*q(T=)esWqwPPLtwS!(7fb7R# zN%(PQIf!y0UP*YJH)w{eTThH*>WRbqA@mOEK7c=x5$m7l6$``pXT|Uo44?yNPkfj#TrqR zyH$0kOgN?}zuYO79ZA?QnKiB`#Y&}W7EQfcG4NuUz@*mD`zWhb_FXGt?$pYfeIM{j z#VaJQ(DW+C=#FFjwt1D%YeaZOq`G8DRGk_99cFJ4;m0sf=n9c*MBX8?Mueiu)T&6^;BMrMzTGOZmFV%dHodw%m3V4?H0*J!?x z@WaM)GZ$g>ua_Slc8XAv2&F9BAVSv;&*!h@H|^v27W)7^x?PL{$U#^X#hx(Ss51JGuBTF8=p7C~@2W1Dc5y^#A|> literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc b/Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..690b53acd5c86ca02a65e930c6d4ea80e03d57f0 GIT binary patch literal 4938 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 YN>WYv*VW%sz|eW{7s~#=Kp`#s1G2eQng9R* literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/__pycache__/Player.cpython-312.pyc b/Client/Classes/Game/__pycache__/Player.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ab0480619ecba378371550c030f38b1239fe8eae GIT binary patch literal 2688 zcmcgt&1)M+6rcT)SJtPkSpJG?IZB&~n)DJ14W^~Y)OMk+AQ*>`JU1Cp0y5L2rKV&AfRZ^PACc ziNqj*@12i-WPfUe{DDgE(*w}W1K1;!P^CsziAv@PRqqk1Jy!h{t4dQT>VKiKRPjx| zj08$|UBMj~Syd=mRc{ieF`X*2FfEbVN18+i%<2+FHj?2DeY}x=*#;g4de8{d=m7jo zW~@bM^q#&NrGrdcQ)vwFAdO3$02~8sfISH~9@tZW69G;GPRjkzN2f!er(o`1=LCBX zgHQSmeKO!PL@z)MZxTzVBj7jO%oazz$a2kYGVaAJA6QnEhLrV&m*~%I+KwGk9ea~` z!~NNH+o2_!Q{k!LrOU-SuBr6cfk%Nn0QQjXRS zQ>!}6S}Dz!=OIU{RI4(_EthJx5KKs0+3(2JM$=`hw7zOb)Ilhp+ zuYVgo&Q8D(lf%PU7p91(R%xYQ2^jia7zX8Z7n+14lMfYcz))0q3I?75A;1ZnPb~0!}pkub7 z6z)8@b7W4OF9j%GGVgQ>283K#?w^9x#vnYOM1j3HPt}s=r$b`ZpTkuQSB<)i_*Osc znS7gp=~tcgj|nQRE2VN=3$aZR~m6|#-r~K0iw+XLtYwb1 z&5JGb;{M7L^AcRSlLdNOqb^Q7KL1~p@a$~XZ?hhCkbEcVO#1Vm^7^JMb|fhFr1{-5 zE1qhZQwQ1;^YTj-FBLQRVB=qpWqE^^wOOZIHNQ{Ra*5X30|F=s)O{%|Aqh mPonI{b92@|n2-2%u;Kj?IN8w@MR`gR&-5!w{%-<8`n&*&6!}g7 literal 0 HcmV?d00001 diff --git a/Client/Classes/Game/__pycache__/World.cpython-311.pyc b/Client/Classes/Game/__pycache__/World.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..acaf9b6a687d36d4114db663971fa6fdda94cd87 GIT binary patch literal 11103 zcmdTqTTC2Tc2(8YO*P$31KrTPnzzAi57;=YV|yl^@ngm_w!w@6Kib$$Llqd@FIP3# z?lc)DnIvR|wBC&sqsU44*mXSeM)Jpg_|vQGN<>PeDpVG&k}Pc$?FUjmSb0~9<|D~D zx4Me1HfFKM87W0^?z!ild(OG1&VBbkdOW2RJpRA_C!w!~qW%Lj#>3{3m-hgiUd1gjEUI@ zhNUdQ9MdI+z-7+B3e$&>d2AA(p8YNBIr8?S!E$+^QG zlJk(<9^NZBrcDWax!~d};J;FEO>n&LD|@(%_kTr&y?m8mn_&3ruh?*T9uELs0k{k3 zHGo&<@mj!rfERdT+VlkQ)*r9fCqLgn3u10>>Ypv>l@+Q6$co}{-;LUsp0&=frznBzbyylCL zG!hvz<5JQbDH2thT}TM=J6f5+6T@hgG>?%VhiH|wfRWW>5rY$BQQE90jf;YiSpOSn zf>vR0W95reeERzO3eqbJ>7NQylh@Phcj@ASa}yJikY4`=YdCbVn$wh|l_IKF)^VMG z+-^7zQtX>H_nmWIg6o;W9 zOM^_a3uYO}nZcK}LCy^JEDJfK!^6l2IhP@YT9|`R3?@I zn^*w=V&u+bG%mnbNQqNvL9?F{lQSu?5*d65{0OQMz<5oGbqKr&$^mF)V>44R{uD?c z@fWgdtR%!H#0KODB4|X=1VBPhHskZn(Gy2Th9yCiMqscMW=Bp6(v5U7HF7Qyn@R|g zp%bS@PQ<2!L>iK)Bni?8Y8W9Zx>I*FE)tnaOr;}{OqotI@@S&;C4hM<7i?N!Rjw{q zQ@6k_dR_#A_vY3DdsYK`l)!sx;5{I^U$k`oIJnl*yV}yLv>a4h4q}bQTumd^$kn%F zwkFrmfoZLoR--^yuBsN2(j4braX15V>vQeu0x#KH-+c{|}`(`JxEz?+j8aGP|%&G6?PSc@+~ zU5I6A>*P0Q|CaKYB6*Ij9VQX|p{8--36VEw>d(b-oj+#kQ7i zEtN0Lvb+nwK#>)$ZTQ_=@VmF+_iVxM0WX=u+_E`Tfg$FT#x9?K_%h%(2QA*4bw7ky zdThqiLx}pvX5`Z_aJ`ZAa*Onetn2?!dS%x0PNn-SwtKVOJC*LYNUzG4{9ftiWb&G? zT4j7w=moHj;R9KFI$A=s>Tcd%ciLQA;+SUrA}6W4%+=#_Wm}I75LesH3}lqdmc4eA z^u80R#iL~Tw~@-X;5cVmOiwUYf6P_9L+Qn{RwelJO`^XwjVq=6lP$AaitT_XY0G+d z7$xn6($cv6%0I8l-9Db)uob%s^}ePR9oh07wxY98+IQHB-GzF$Y(*7(i;5k#B2*~t zJ8Z?CLcOnPMMt)BhppIKDDB&{;x4mz5;q~C_xjg|Au89q5a0rJ{R{#O)^%8sQ6iz? znqwUoChNEfS^sAQ|Bm2)0BBr(pE{6n_3Yojzjw%~CM9DtX#r2HhLW0Hj3y=p%_gNqjhW&@ zKCuHiUBda~t)Bd*o@5RfnN(p3W{eU}Kqn3)CCw=i*CEOY`27%b2%ip+!qjGA%BaDm zOtzHH#-;kAi6~Z}r!-e8?<>rgrgTpt?h*;m=l%D~J2#^MlHvL8Wa-zBs1%##P_=0{6mScdvi>q}u+y zr|s&I(<|qdBj@D7A?5Ip(mpI-8dvgN}nFNnO>WvCcZeIck=5xCd5%q$;QDmvAQ z&IQM>HzoC|@1I#2Q{Eqthb|~bF349#l*1!R`&D`LhT@N@{+J<;*jJ!;SUEf_hp#Ay zt|)CIa%5WZ-B5iuKv`bZWNv6HF59z9O0ZuI_AA^ul{+VM=d4_ZAMrnpKfSv0$+oiIf5QIE^YqpVrvyJ& zgP$whd6hdabLW4>x#56fjcZxuT7I(U(Uqs2&kn8}dOmzr9Zqgg)J^&f^Ban~K%ZrP zt0zG0XD%SI?IO|u0`9zoI6x={2o@GdmAn23G?&Pqho6t|>c}kc+@{ZCwX5_X*24sd z!^|}zH$vn_h}=;kca+E-Et30a-G`Mf(fwEp6Ce&Smx$EM zMCxTCHB6+2iPUhBRJrRYe3?#paOC;53H91-5RsvWuv&y3#(J0l@gg%ytJ$EO&RJkVxNz)6UGszPNA2pK_n-OIW1nL*AG;ujN0g67 z`Xh0quRz4b*FJDnUydpE66 zDIfoGe5K{*6Tg^Hdd{v~moJUVW3lInSrkcshILLeJkdi7L=PlDoMdjG4KXH(NeV0i zO)*A77EB;FsVALjVoI8rGDA$6A*Rf1Z_1>65lo3cPu>ENDf%?lIl~AjCIy=WLYzS2 zbtZ;3#F-Q(H+8LXhN#5^DqPo-PNE(lkUYd|06_x4Vy~R~H`~gwe{uY)L+R<42QJE& zqw@H7Ws7dzh7Wsz-Xp{iOih|Y6w)(d!g5rJYZ9E}UzP*7j|VuA>dzo0wg48Q$rR_d6ZXRgcH<} zJ2@%i)hA_>Fbu3Oag9k-FV4wa!&_=5%cNq>Zcv0vM{*^SsWg?Fv`c7eLDQRLuIVie zAP4fr26*xY=!>h2&tid2yi#OBv&=QWr3vJopx6X1Z-QhT&l~w`R^Ml3uKq3clB+KBKycA23JGLz&P+zhaM4(PUv&HKOumiqv#Bbi)3An3y zMKgMzEcy$)Px6zfGHL2H?*)K@n=I1d9|B_S@F%IO$L5$Uvy9#Al?VABn^c~@L8OYE zz+WieyM zKoMNC>ldFW2G;QUaODJU>vu8vp-i}b>H(N&(g#{B>py`Gd%=^X)ws{2&BAn4()mWCTz)_UkZXNTF*1y*T4fO+bL*LU~CQq{8ik)U{cRd4SCi(47EysTN}YL@&8*9cdiGTeT8efbF0 z>_p#qVW6@g48Q8jlK^0#pka7ufZ?HFg|Kx8&lVlPLZ=R5H`Z4ZjDF$#=O8qc@39Mj zi+=&Y8bzgMTXyXQrxYoyHzId zhRt9i(L%n4rN!7<(&8h4Sck^fw3IIX+J)^T6BlVGqkm}p{1Up@7?Hfkcz!6Uk4ZRl zWvcXM7LmWedU&r6ZN(j5;~Lkx%C#={D%@_B+btU}X;wdY74LP#dIYrqLM?cUo`92- zNJJ}*MB+()CWg2>61h1Ojpa+&*p!skypc#Wkw~Va=_&YqQzSwT*2Gqn)rO!QfL0>S zh!fFqf&5rNvrQ$^1-}^BjcmIR2nfhjgyX9iLy$ml6G0lmEd+B2u#sXvg3}1_(oyd( ze~H-l5iA1uTAxbwqZs@tgopqyucQTV?R>#suCiKY@m1LBoU3BKZ@%x#zFcYf{Mq@l zU!Ki*42rvQv2V@YwCZkB+%2lRMP~6;*cKSa@5R@uL#x#xrFySgy;o-ORoJ~bk8kms z%+|xJu=Tm>+W9kgZ8BR6ufo>m0(J9e@A_o64qk<=E6#7QE_>q!1z>67L4qJpZ6sMa zK@xd%oTSB|Zm%6z^aU_X)ArV77DC_NS_~YtJ-F11)L=1yqUI&g0ZB1{qLw8IsV&6- ziW-(W9(1X7I5^uIiUE{&K#SsPV-FT}6ay#^E*(VbRtACSVu3`7gN0gfm;p&KaI;|0 z1X95kD{$NFerzEm%dqhF-T3>K?#*qJh$D{HWRwoxf#1o*yH6zJsbm6v79(|& z%?&x0)fx>hA_M0EsXKp!i5bz3q8hefGJl*X;*_G*Z^2^xWKk?Zjt+z4ReK75&q%td z<};XyS^99MAIMu9ts6`%#i3BEHR|P+;BO$MZaiBiC(fj2i}!$2_hu(x-*6x3!`D&q z?;(q`vGkt+U~H%99OaoOe>tjKw!S&4N4CB>>Y!|WbJPLZ`sS$pvh~eTAIjD@M|H^7 eH%IN3t?#S$Y_MsXhRE3({)W(h`7+XeA>k3?K#Xw}G{iPel}Q@6 z>B($oS47*RBwA@9tJQ{)Mw&$Vn9SGYGg8k7((Ff-oR(2-BF$>&hd;V$?P~jH_nccU z+klfvI-Qla1m~W6?s?sF-}m~DcDsdwul2~k2%|2F`VY+LADcloZUC}K@f1&oDL)9jF|i;f*Zp{5zfyM+!QuPEPe~Yi^A53&2J+(7q&-={lx?~ zhaHg;e+f-7)Cr2W+@yHxBS!PUUphzoY-^b5_0g*3*i2C5KbjK4Jmie0gX2ON5bK$l zs1z5(ZYYGTxj!a^!AO>R@-1c!aHXA<~jPhYY1V&R|I5GT}H;w*c z-g%SqJNRmoA-im`?mYRHwv|UlVAirbrTl88TdVX%Ny0B z6=dr99U#x}I{|N)^Z9nE#tSoIm{*+vk_H0f*?umm#X2!YdaG*J^FmaJ%;k#1I2xo} zaR|D!q`Gu&t*>L}$G)DYRtkxN5MBF6sIFS7bEEKuDL($`+6vOk^64jqsmV{{Yj^0a z1!pHFBq6SvG>xh`t3x}%#u_r_#TbXY0sc1{K=C3qNhPU3wwUCAu6=QRf}*BP zIxUw@n{&91>0=CZW^KNemaN?*4LXZ-J4ps|TsCKbT-KW;3pssWfe93HR-KdNY3}|?%1T0bLUbbsx+2yhr~@Ej{2K84p}YIw$e<*M z(nx?sR!pz9!gG9%x9BhOvRS>{ zt9gG!jEo6rf8Lyplp$-&{LXFV>ScMgE#8u3c`LSL);sHKNZ2+>*j_`zzDdFk@r3AX z{ibo6+VaJ5+94lb3{nNweBP0?J<9a!N12gGW3PU53neeHP@1&9V+&#}RjDSgCx@?Y-&ToQ%~A*cD8xank)lPcI7x;*ONQ+SO3kzp5FIf@7f?V=vq4hJPxg$Lf}DwtDZ<` zxN@%HCVZ_N!Pf}>9l`$qP`S)GuP<1LVm* z)l3j9Q;h`8P-X**$@GFdebzWWpr0^T=0BBu|LJYr-5H z_V5G(Xrf4HpF~9WfM_%IX)+GYtE^C>D5i0*;ewxVYQ>q`9dhl{uG;dmDiez&$~3m) z6B9xxp5e0Q<$y^@lo9vxW!qIoh$PAho!l7VO;JXi5d=71k&{vbMyqHDRL_WewR00W zMrp^cU@Rs?c@g(1+7XK!$#7$?8pU9AQcw+2TvVAU-scpXk!%&t&s^`!oP|kdubzqJ zmtaOO;RFm@-;AW11rjVoIRRS?F_Unzj}*pog)v=%i)Gnj8XFfo6O0B?fSyvVu}n-b zZ;5GPL)WONG6?%XxYV`ix$9YGmXD=McPyCx zyhT}8`p_xm(5aPiX1%!bxLaxcS<1OT-<4C3o1h}8(tQi2f}HCn%51-FzhzHzwF+1J&x6Yc zAH;t<|8V|EWMwE-H}H%bgmdpEh7TT>|Gw^bbx*mKovFJ1XWYQc7z|H`Q+2)1xU*Xs z4m{w08+jOcGP?3nVGV~Kv%k0h&i>^33YV%o_l!ILCp>$*70#XJyb9<2b=!kWPj)=r zx3XUzoRP22r5Y2@xX;M}J)cQ#|7%cDB%kxkBiGg`YK}g}z{$O-oB5ui%stFDfd?Z` z_CFn38I~_xm8H*9jmc-+{5B@J{V>#hhul9RU;YfVeoprgt;dPhkC^XGRGI6})qkkk zpv>j~vvBmeyWxJvy^aUX>9#{k+o7lB>7(bAqvx;>937JVBg%&(@>ozg5>(p8Wg(Vw zUtKu$yt@9r=bq<5dD?eS@g021ra$acKJ1hG2bB*8<%^e;BbVgBm~wbb@dagmCRH6< z_~do$1jpqNuLODJh@iAh$e&8GFP?JGzMjFcpgbN@#zM+rUhxSaoT`p5eDWt-N!sR7 zY@W2OMX|N~dRp%M=nv9L=hxSi&NC~Y$rmT(sW`;xI(?3Tq@THfff{BmVKTy8#^4Pz z0p?pQ3t(=?7#7)s%<6X4$Nvyo@qRs_be>-MR2~-O$*Z6OM$N^(aw&`7fxRlrMm45p>SdXHoSzW)KC3n2VVBHDyE0D5^dO397zKR0j&F zKJl-Hm7{+&DV@D?-v#+11pbY6!-n4uL2_cB5_iC4shUI~J}X8yT|?ozh^xy6?)(<< zI1K65ub&d@f###h1>r-QEIbm5Hjr6bEuIwOxu+CKpRhMm&jG)L*Isb{=5VGRUd7>+ zIWO_;ZG0*Lm0}Q;=XqoX+vGV%N;tIDBTEfhQMveVe=jXmRywmnEVH@Tw`{agHLP#g_1*YMW< zl!D%EZNz2#k@TBdJwFQEc`cN@m6W-fxAuWtTW^gCwovvBBd>+Bw6QG_X;B<4GS~9f z-jKWUt=?d-)i$4by;dWHFoFUC9LsMrUU0u(ur0{WHLop5ege6}x?Ok|Adf~NJUQqe zo*l>>@=t)gY!2z6M&HM4>?AXdyjwo~DT1f3?8Jfml?(V#@0Kq~ze-v^w9?d9KV#w2 z86HHkw%|C#^osZf=VP@ejv@#)IinQ8Nn}9yEKc4p9vaB(CQ87m8nrhtR05k*ZLTu| z_vSXr5~hGpIsyP@mWt}d(YvGHQH*)d!tqr{InFbG|MTVdQjU(*l8Qz9UHj6+{ph`D z%G2>p$?kO{@WI}y8r~&-Y1f+g|7nO1K>afz7H0t$uOT3v?mA%7reJaqyG`9r&(9$1 zt3$afF;k?tmRIzM(Afy~!3oLH1ZMR^H zT%~YTOXc{om8H~<)yq?hZ z6pZ$!_zO_%%M87nfQx?vU~^xwWNRiRO0=~rkAmz?0AT2qSAR#*=B9-n*bd%4ed~1E zR;$=*mj=GEHGXS=0#Z#9`AwC?3X)151mtDYSi!2%xwg$!i!3*!T8!4H*whks7kwsi z9Oe0e8Er1X^(IlF)oKeFyMR;)0IG(^8jr$x(p;m$H7<93!|f!s>4n%K%i0eB#3}$j zFTR9E@wqghS^|N{3_lx2+!hF2oehRFC2V*~imQ%5AQ+9##DnoE_~lC=K(2Je2Gr$6 z&+l4iw;U`QaZzN%p=8qa(BZACVWzc`M7M=*&1=S1-ef+&I*0ujL+g3l4)rId(0 zOT>$2ZAg5H*xw;o0Ps*-^|UJi+`5Sftne>IVR-&6wOUr0Vk=ke&M(id+RDD{UA32f zc?PiCXKtNI+v*iteahxdvEJ3n+QrD-NV?LeRQghtyHe~f5W0Q&*5wpivszhwz4K*PV|9XhMP6kFJ0T9AX&Gu=q%!%b(_Ihz7$%gAX&cln=gL#1wo&lCW$wB>2(}oW=fUk`75!ID>iSNMI`HtK{ zK*Zss*6XGHbMT|8NJsZfBsLR;2Yji6?9j<&m+H~Ehz^|4q>jvm5oSc(45+mQn6f|4 z5^-)+YYMRFKiLxTXBBFz&avH}{NHnt&Zs(dX5yAMR<#Sy&6U<1CZ3WhopjQ>U`~rx z3t&HRA83Q{u!tKa=(m*g9)NWNP1FBI*$g-WSxK7u1m#RO<_B=YO$r On)ZDM3lXiw{(k|3p9cv5 literal 0 HcmV?d00001 diff --git a/Client/Classes/System/App.py b/Client/Classes/System/App.py new file mode 100644 index 0000000..a19a257 --- /dev/null +++ b/Client/Classes/System/App.py @@ -0,0 +1,140 @@ +import pygame +from pygame.locals import * + +from Classes.Game.Cards.MonsterCard import MonsterCard +from Classes.System.Components.Window import Window +from Classes.System.Components.InputHandler import InputHandler +from Classes.Game.World import World +from Classes.System.Network.TCPClient import TCPClient +from Classes.Game.Events.Login import Login +from Classes.Game.Events.PlaceCard import PlaceCard +from Classes.Game.Player import Player +from Classes.Game.Cards.Card import Card +from Classes.System.Utils.Path import PathUtil + +class App: + + __window:Window + __running:bool = True + __FPS = 60 + __clock = pygame.time.Clock() + __myFont:pygame.font + __world:World + __inputHandler: InputHandler + __tcpClient: TCPClient + + def __init__(self, width:int=1920, height:int=1080, title:str="default title"): + pygame.font.init() + self.__myFont = pygame.font.SysFont('Comic Sans MS', 30) + self.__window = Window(width=width, height=height, title=title) + self.__inputHandler = InputHandler() + self.selectedCard = None + + # game word + self.__world = World(self.__window.getScreen()) + + try: + 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 + + self.startGameLoop() + self.onCleanup() + + def startGameLoop(self): + + # create sprite groups + # todo: remove these and let server handle card creation instead + # blocker: server - client communication [WIP] + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(500, 1050), self.__inputHandler, Player(1000, 0, "test")) + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(600, 1050), self.__inputHandler, Player(1000, 0, "test")) + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(700, 1050), self.__inputHandler, Player(1000, 0, "test")) + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(800, 1050), self.__inputHandler, Player(1000, 0, "test")) + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(900, 1050), self.__inputHandler, Player(1000, 0, "test")) + self.__world.spawnCard(PathUtil.getAbsolutePathTo("Assets/Cards/1/"), pygame.Vector2(1000, 1050), self.__inputHandler, Player(1000, 0, "test")) + + 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()) + + # event handler + self.handleEvent(pygame.event.get()) + + # emits update to the game + pygame.display.update() + + # handles incoming event queue + def handleEvent(self, events): + # TODO: fix bug that stacks cards when dragging them around + try: + for event in events: + if event.type == pygame.QUIT: + self.onCleanup() + elif self.__inputHandler.getMousePressed()[0]: + for card in self.__world.getCards(): + if card.rect.collidepoint(self.__inputHandler.getMousePos()): + #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: + print("left mousebutton") + if event.button == 1: + if self.selectedCard != None: + self.selectedCard.setDragging(False) + print(self.selectedCard) + for field in self.__world.getBoardFields(): + print(f"checking field {field} is field mathinc? {field.getRect().collidepoint(self.__inputHandler.getMousePos())}") + if field.getRect().collidepoint(self.__inputHandler.getMousePos()): + print(f"is position valid? {field.getSide() == 'Player' and field.getType() == self.selectedCard.getType()} ") + print(f"side {field.getSide()} fieldtype {field.getType()} card type {self.selectedCard.getType()}") + + if field.getSide() == "Player" and field.getType() == self.selectedCard.getType(): + print(f"found field {field}") + try: + print(f"placing card {self.selectedCard} in field {field}") + # snap card into the correct field + self.selectedCard.rect.center = field.rect.center + self.selectedCard.setDragging(False) + + print(self.selectedCard) + # TODO: adapt this into the new game engine version + PlaceCard(self.__tcpClient, self.selectedCard, self.__world.getPlayer()) # 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 + except: + pass + + # sets the running state for the gameloop + def setRunning(self, running:bool): + self.__running = running + + # 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/Game Client/Classes/Engine/InputHandler.py b/Client/Classes/System/Components/InputHandler.py similarity index 100% rename from Game Client/Classes/Engine/InputHandler.py rename to Client/Classes/System/Components/InputHandler.py diff --git a/Client/Classes/System/Components/Label.py b/Client/Classes/System/Components/Label.py new file mode 100644 index 0000000..ed04c54 --- /dev/null +++ b/Client/Classes/System/Components/Label.py @@ -0,0 +1,47 @@ +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/Game Client/Classes/Engine/Window.py b/Client/Classes/System/Components/Window.py similarity index 100% rename from Game Client/Classes/Engine/Window.py rename to Client/Classes/System/Components/Window.py diff --git a/Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc b/Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a0402a9a9a6bf0eecc9c39160af9afd11e0a7a2a GIT binary patch literal 3562 zcmcH+TWk|YaPNHQx4BSA!mCjTgy5(OlsZ(ZTBJf~K!$(_P~jR*!M7n!&X4Y0$V2BU zANlYHs%V82KB$xrN{di`Dpl$ypZ%bc9a)WaQl&^OAN+-;l@LGe?4Iw=j%h_3y3Wna z&dkov&g{-^zKTSG2-=&MzQLdR5c-97>?YKRwHOc!NI?pxq6Edf%4PTj&mkTSBE>V0 z6yY9^&;$6amhdRtFp7##Xm=>enZcvE5u$vM#;TI4=`a+kb=JNGVgX^4;1rbLF^r!_ z_kj1HrhrgF050Fe6@lx)-ceo==7n`5d`#va57J&QvC1*a2RYy zMuSSQY1Aeq1S<@i;gi|?q<&%~tEiYXtc^y)1K-*a01HUBod7(}*_}lvW;Tc7#&ry% z``l2}V|w#5*G4kf^i1FxGjt8>a-LvK!^(ZMMn^qAckG?y1q~A|sp%MBPYz&hLeJ%s zXR>NKi{7FKZYq6P0 zgo-3^_cWE-i`lh)G4)dFaoviHWvORL>M2XniWDvRqs*@9C0L&%*@l(TL&K8(2oej2 zhAYsIt55!-lYG#1T4Ty}`|yE$oZ4e;yG~>b=M-{6~550N&mH&ln+*sb7vh~XRWW}C3>RM#+dgJn`;~$(ip`)0-xP0#9;0e~7GKIK& z;VczsRBPbOheM{QPv%t|Fl)5Z5YliJE`war?uJb>kq9X+6-ef zKln9=R-~4qP^I7xFA8s44s|Vsy2_!wmC)WVFWya5LI+n77ijzL)N(Ao6pNQ*rz^43 zKaM`iRANacscva44*VQy|C^DmO(V0F*kwAhwYp{NKaFgjbD|PU{I@x6Z>>2WOIvR$ zw+C(}%TiZG>MHrWnyao;o328v;6ie;TYn+d*OhUa2-X&z8f0@QZme1BcZ^k;1#4^g zF5;A)BZo)}j5B?ZR5_p1))#4dsaa(>r_F9#pKDvv1tzpk0M>Q$$rqz{)a8ytOC5*G z9kEJBtSt3cr2dk>-zw9A3@!U~Ius0eDlzK&!H1JB%T@bfs&omL&tRA1YB8$XzUyX~{+_K!TZ%f{;6qW# z^viM7ZaY1+<8hJrr~U zFg@w4ZVGBz(+NHPq@RMuXO(pW&})Ex+OGiSoZpJLd6nnH{ouK{|EULgUz<-_3_sA6 z>ZPLII#KVcCE6tJp^*jT0!NK_GqoXwbx$MeS?sOKKH*JD{}0fY>eD<|GQS6 sj*#~tYV??D=K!pFIF75L$Q=8vpuSS$->Pts1J|0tQ_B1O1p?;mU(2%IPXGV_ literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Components/__pycache__/InputHandler.cpython-312.pyc b/Client/Classes/System/Components/__pycache__/InputHandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7761966aff68e87571f9e2bd1ebc0eadc49cb1df GIT binary patch literal 2996 zcmb^zTWk|YaPQ^U+1NlHJc^YDlGH5<6&R3ON>vgF)DTd^Lv>BB#1g)5f~?BU0%He(@Ia)72pl`F*%ji zk49xt!s;sf$!Qtr%Lf6>AiZJ3M9mM42|y;eX3E0rrx`={sL=pp*izYx(IhsQNt`wK zi&z&@D%LbC-b2e|#j|rmZ$!>$Sk)q9I>whG!&sZtl~m-UEG1+toE{p9jDP}RNJ?N? zj|@psSPjBiO~=W|kdjO(GBC7A^O*)yS;GaJowD}Ib+2NsFd#IL)(PMWdhG4Ip1Yb` z@b;CweP!>!oMS+B1IMtbSWm0+DmRf3GTk%{Zh;V@3Zzp_?jqclR(FkF4?r|wYY_o* zGjy%*KWlQd*QC-SU1+|>7qiPup4A%HXcuu|OCy@VE@lmOt!q&QpuV5Ah$950mr3NM&PZarjrh`+3sxLwP=UzOu37g`_7RPR<9zFRHt4 z3Fv<8?YJS%4&R8By}fgeUb9fNFAyS}8R}^5qM&BBsiRHF-Y5;Qtkxz-k!or6QnC^N zDv=7X)=k^b;+U?eyA3X>q%~~V&AO{-Di1=YvDWR8dVGRNoKm#hrq;`=bGE@E%@4pT zl9#Vu{vv)$x+yLAcbELT%l=^5yLZm9*Q%CIb4MYiXohb}Q6*7`!9yubB}9GPSl=`= zjuRKhb;EsuJfuRLyrf#J`S=7kYpe^LH-qwM0w!8pp31?Q3M_EjI5tn4TrSTHqw^nu zoGowrw@0hp4h8#j*0kBT;K)-2XPz#&^7cF%qcim67I3^1C}$3iFbQik>e{<9d^N6} z$UE{}L&go1t4Su3x5Yqe41weY7G;rj(TqW53@U5b$Xljp0bbn!deuGx`Uw~SU~n1p zBDkzIm`*nA<{)J12t3QyjCDtDi?FUoBLUO1(yXxY)WhbeatW)sEo}qGgq3!{BvT< ztHn@d>(1iwMQ_(^-y`q-+XG*RO1=Ak_U`|7S$n{;SdCw{4NB;B?w7HOiKiJ3&O|gs8r*)H9e{)Vo9uzE233T zx5ANBk`iXVsXYYS4!~d%vTm?aLeo_eyXqbSR%e}6mPu_UUAqBb8ZC0`pVAcf$})p& z8>$4WI!tUGw|%y63Bgcf0aop)3GJKhy5+y=UqTeOud#ApZKa3nxZQQvf5%@%fIiq` z4s#!TXpORJj#Y#*)FFC_h?p9l(tuedf|ysYDBZPx*C6?e4X%8Cty2=omQy}+9I)JZ hP<<1)r2d&7ttvxN)Gx^MI~x3xeU0i^LIBMD{stfpX;T0I literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc b/Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..31d3e3d288869629954f3285dcbea850943ef275 GIT binary patch literal 3676 zcmbsrO-~y~bk-i*i$C}XwqqbAsS-p?(zH!NL_S&-(I!<=(WoSqO08}k??6nbXmpcf!^}m`|0i!A9Wu?Zd$H)OZ0G&ntK`tkT+Q zlWWyi;|a@<5BvPD;RPHiGGgjGYKX~d81y^3)Ch2zf#b+mTUbbKW%5{9ZCmh-hSej0 zd(`#?IvN4oJK<;rZWOr9g6o_IZVb3BwR3U6Th(s$DCj|{R84@?HsA!@vK*~`wFB0V z)ZYnYc7mLCwQGTlM%7~wh2y60i}XE~Gbv{o!}Mh*)8ou+Rs>T~^bBWAGs8A*ut$a& zvZ<-Oey}u_*9?;i=xo>0lk8;_d}jJ)?q>~VQskKanpi5tc~K12vvbV!W%9W^&p2*{ zlNe$z{Pwp*N*I9JV*)tVSap)i=HRSK1z&yY6^Mee#Q5Km9PI_-x`~sfwjP`dUe#0Z zuYv9jM?c&J3dtHE!NFIZq_$UaUW4C;!$^Ua#{u}rkDCeZpAh89Ena9I%-W14Fj zS7s5!MOC7&pApC;+$zQhS(k>Bk_gVa#E%10$L%NhNq}Ym0(%F#$XvwoPK`{!+CGM5 zo>W`fmwqhCoxBIgH`mJX^#Q#ogeL(sYQ;=*X+^RN_ntxU7P`PV%*{i({9w}UygnCp z3hFkL6SfTkV0kuj*liu=A2V$5WW+-z%t&KAU<0P6`l3E_aj(O0_bX1KU z?7(mC{06@v*$bQW%K++I&Z#Y0j`vsM*gis4IlL<;cI3ozbfshUv$EV*k^4&a*Yc+m zTM&h~@FzwO@&%hdVAgP~9MYkZCJ;1_I3SmKUaxZ6y~XpO%j7F`qn`}-HC{n ziwoQa#Lt0T{S*K& zK@KlPcID0;xpVpA%9SGBY%0qaD)NPr{S~eq1|Ol#9N$f-ZZXC15y5{-ied&8Wiqc$ z=MWDo%ERe&&RVgu2Q$rVQIxc%<&CtF&1<@%SWjp`pXOuf3^TpD!Og(e@Pg*~dF$o% zjpg!bgX2|sAAOW&0!EO(V@S2ff;e{=rkPd9PXxe`slw@ee&P}|bggCq6g z>?3=$$=9_<04xuQsp#Kq7RdI9n0_DoLla2p+wZOUfkg|#1>zFOXx}3+H3B~_#a9mT z#a>wKT=uVkQa~DkIQg$aFXQ&h%Na2h#Wss27#8q*d}sCufaOaoR|QhME2iy}Vrm4k zq+V0;usykE)JtR(!H-vAy~qy7niJ+CB5 YRT7yOpFMh30`Z5zU&#CWH48$+KQ)%uKL7v# literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc b/Client/Classes/System/Components/__pycache__/Label.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ff947a38c7c8bde120428eba3d8ccee49291369 GIT binary patch literal 3603 zcmbsrOKcNY@U6YJ*WV<>Hi-jK+7yC;Mx~?(2yGRmB~__X)IcR%i>>i)f*ofa-fkKk zjD*y*ilw47rzDpKPB_XTIp)}&dZ<(pSt!<)TTk3VeW=8xoq4-n8)GU_UX{_rPRa}e?;64k|_dk9r!J#t{~v8(g7(1R^Uy%6o#AHV8_*5zh#qC+7FWZUS>Po z(*e5MrOtU03+5uxgSz9h#5Fmi^Hff1x+67}n2_~=$Tme$O;TA_bYGR$yBhLlch;lT}qvR+u^_RJ1aiTVx`Tp zwKf1rL-98*iOV~xC7vfD>SF7)HGw_G%9EzHxU2lyH*c40dFO^{16X6(3p!W}*JKe( zS6i=cd&9)z(Ac+K@F(1M=Xua&MNP9TOSje?G*P&zNs%`z?w3e5De1hBcW;=31}yPb zZ_V3)vW7t34wU6ljzsOFx?_l@5}7AxaWtSir*jifCKMIuuCbhY9tw$KV00&y6-lNP z>p>SLWKF~(r5I$L{{rikyQyw43W}pC>Ve9VGvgGmrRXOcWgogk;O}}XU?j_jHba%9Rco+`IP292Aj<^m2fmGKjI48` zQI4f&oudbVuj0WT`UXJV1*yFRlV#3t#K$D}1FwRWbcd8%+81vXZaowtv==u1j|KEF z90VIM-LwxtqXk%Zbrv9rKG7(G*SZy4#+rTMRwp=mF{{q`EVqGT!KryYSD1S!biUsG z;590I;eL$!DAaPD*GTrDtmU=tQsh}2+DUVS0hbVLIhOWM0C`#3)Ac9t6s$Z4!`W6h z4y}<6!@)L6Lm(5ivuQv(0B6k)8yFUP0s(ffikhKk&H7QFuOE}_MZp6Apnjffmx%THBXq0;*E&}_?|uA8IBEpZ$|RgeoCOiH1@*x}AOJI#=@5Mz$f(V* z7N@g{r>Yh@!KAw8FsP#_g+auW!ZfSquYMv~`IA8Il}eMO@od9_{NVf3u&Vj3Wrt@k zkj`Jrq%>Bv#IN29hU_!R4o+3P7yhQ59usAveE82ptbin>P>r?S#a263M#-k3>b431Ge*tdF% zC?*sot0lBlR#8RKcwk-X3>{A-W!iP9ZprU=YB%F*I4ZQH(1CSQF|$0KOw-cgtc|p{v9P%bwQ74?EMWS@fUnU&-o?4K#J ztus%ZHpj7*Q)`2(gL?$f;$`;P?yVrTCvc8VP~N@TjmkPJpkRQdlSKp?fVDLX(Rqwh nF9LiRp9$xTTz)`DfW#tKv7h$r9LN1Z{D1SuxPiY20CwhIFMp6h literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc b/Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1867184feb2f90acf6a4b439ca9cb808da86ecff GIT binary patch literal 3667 zcmbtW-)mD>96vWXH@U4zs;z0FwzYQB87sAHqC+}mi(2tVWL9xxahELjw5HxB*}1n9 zU4=4aWFz3%2KK>+Jc!fzus!U-4PpO6QUVPZ1VMZ#j8W;HeA@SWZtiUof4q2d^F806 z=hydhe*6*)b`mI`9lpb!`UrW7f>UUNSvwBQEus-k(n%6)k1n0V+N*nJy-BZxJk{x} zoRlTvArnNCZxGFQ*F(qy_}eAv)1*lf^RJ+oh)I^T8%XEJ`83y#WtpylBwxsLUCT5g zMCES?YySdsi!hRuG?Mh3htVXxj51mCjDtn?IgS}S^vk36Lz(=(Rtko9FcOje8@>f;{y@XgH z)s|HCN>(#3t$Ye=YjwHGODsEm$$ZgWxN2U?=LV$YRk+p9n%*(tqPgK;4GVcKi^bN@il8Xb=$tW0S z+!pVG^q}ESh(t_4qf=&NhbuQ}9UUR_WX2VMcl(|4+y(xDE5j(idK`1Xii62azHyAfkhRN7h zsUys|Y~~B8GdUgLs-BBaq$Z#(HLhn_&P>Jiv|%tKHF*`>XH)U~Y$2ZmgORc~#ApGA zuBtc}RlU~LP&x{nit!VW1yYan6=^9@j}AZ;Y)H?PP-(+=!BVgod=?$J9a@g=U5f7g zee)lE56wr{D`Tgt(L^np5D`kC6kJxeE-70V4_B3unle&RMjk^0p=D)gNf|2dyE9%@ z#%jt~MHzb*>Hqob<;bq3$gXN+cP+A8^u4XWNNY;8BEB^k7Rk5>1p#@nuMp~Z>Q0jT zQsO=kz5_G{+6Va%P|J6g9NdNq{Ei5&eo(8W=g)=pC_g0nZ_K!5syTa}8nUE_g9e47|lS5Vy`a5KS%P=zwmI zi=*$_#>PUp8l1Y(7>S+pB4qh3MuKfQBN32pUy*ZozBaFjP`nFad=C;Fk>%seoa4Dy z=N64<66 z#lSuwFbgGkv-A7TANKwHVO7~tQ+8CGuQ9JH;swzRcianNUIVaqUO%tallBO?cx zY-(ryJTGHwFBMo9>L}+uW%tfI8@onnOmKEv>tZz<5Xc<%Padq;mu{F!L-2vR&+4{W-5;`^&s(5$K>Bt9E^~<@mZd=4bYI(Cc6JB0wI+x3vX}nDhRc*SHy@tuf zN?ZQPIX;!nFg}3&Y)A4Ak{FT^B)B8^7!b>EG<@Gj$!Cb&WXWPb@dN0FNaP)pe)eYir0t8};? z>?wU-q1)iA(rtB2NiEP{q4-s4|0)g01FHnc;-skV+110iklM+BM-HwMmnf3lk8x17 z6Q3k+Uo=p=y`6yR4N?7z`)?m=Z%y<7y$zL*-8o&`c>wK0?L?vSmPNKopn5G4fDx-3 z^V?Ys+HbB=csiwZ!-_OsHKX{_8C~CPoI*CN?iQ=qA9f-|(pnSwLK(MlcZi>XSjZzW u3P1q8l2j+b1@WtsZ58KxLPjgCU!Cl%w0^5}uLRS3nLJ0`f3GlzDgO@}*bS@z literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc b/Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3ffb5fcfd857019970c05e32bfe454cd19349bd0 GIT binary patch literal 3426 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%0D+pV(N+E!!tQ+U~Yb4(`Z9wmg)VhhE5s z*6GG{?w;KjdbViy4gMlOr@yCvOYdBrwy#d_-jC*I;`zC>J(I~lT(D;r^Gjcq2)V?M z@~;V5=EitH*Z7+*nm}}mzlYs@eg=iNcoos-{G5vth~{|%JClEe!g>A+L|Oilz|gSp zlE8oLXNa%^q>LZ{3U)yETZ~p*v%~8P8}Z!icj;$K+lxOwe(wFlYhRk!oxEpH&g`mM zp6dBz#-+<4H3f9Lp}Mx#zkG@49n3p(<0H2QEs)m;s{PZ;gsVBq;Suwol$f&4&N z7k<05`pgd9oD^-xTE1f!8UhNr-66+ z$~Tt~Ug1LS*A{|LImYUV`yrpI*toZw&`3H7H#(?qW~lx~$P#oqE5KorD?w(vUE`kDYKIYFrU?VxMNR(Cf z`>V!$oF@%Wk$jqOe2V0qeB)CjXY-9uk(|mmK6`CSVlM}0X)k$+ve)}4SX%!9*J$7` literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/Client/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a62a2d3df813e48052d4c2d74211ea1290e03f73 GIT binary patch literal 2343 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 W&3r}-a~zCkbNQUbzt|#`4fbEy(@}f? literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc b/Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..62eed0f0a8dbb34f322082533ab301f828e2838f GIT binary patch literal 3475 zcmb7H-ESMm5#RgbmyY@}tq)sHL^Xbpp8J}O7PYWCGyDb zo#j}d1hvhBniz-+q_BacfF2xIsRdLodAIxr6r^#0i30=#$Wz`}s1HV-GPB1!l9COy zdwa99AG0@{{mty~AJJ%pKzVrl8~SR1kRP$*6}isrrGU9ZbfOD6GViv+yukb7ya=tB zlk)PsEa04!Q}TiN0O#dgFdv!^2}C59iLQJ`^uT?QkO%O(Wj?G6b0iV`3A?ii!Rbg& z{bqWJ8rHAUhMuDghLqnHSWX8fCjIMdJy=K9{P-c7Gax5Ymyb;|R$zmff??2%l{Kyn0ulzzLS~U#!49&>UW=^pFJtsWL*DLhtHJ8#WCQD1tjzO-@a-pr=8b+a5l zTT#btb-c{$)7_4~8WF-{4YI3tmAlVu9|r=pqK?|?X!$^W3Z*82AhsbAj(*wpdD~y2 zx1#I(F%gM7Bd<*MlSloL$&1pXc=zPE^k`fG-U;TZX{N8yjE`qn?R$R}I(J;}0M0EN zzOQ>D*jm2NHv4)>X!XYp-`|^MTQS@!;UXIR$@f)){&Z|bw4#kYz@NnD`jfZ{aeWRw z3%G_yp_lZzUSd*1_gq9zTWN5RAnStdoghx7b2&#|FcHi8^?cEE0@TP9bjo6|gdGNw zkXSGB=;93RZK9h1j9EXlhf@81gd;h-M)cN4_!6M(huhAhXLWZ@y#i!PO<=VDD-mFidn zu7R~%e@n=-$t(f*FCTF+$7qITm-eBq%|)FIlS}Lc_@JZY3TYh>r&EqN)XY&o;RyxL zEleJG-5A<{qs-yx$OvXfb!Bx8doDWB4Kc{N@C>@T(B-ZMLhD0=u+ZEBf*=irdun1Z z+EeX4`qk=_-V={|Pi($X={;rlp1Lhp5B1iF*!6p1H~uQ1SO3@IKNr8tZ{;iT^LG6F z?JE#c?byptVk3`ZBirX6#_Wj?%E{l^$&V{B&5mj1nD+GP?x6wLBihp-yPb#2J)_&F zfk3Tvj@g}K<<7Bc=i%Fm_i!jHAcpZT3QF>b_veY%CQg!_laa|o(#~l2WV`gJT>-uY z(0K6p?iGRDAyyOE7ks|?vftVl&{hOpED4$qppx*v0JwflOPD1F;7qPjE16K>mi>g$ zG)5vPkmM{&fL?I;X`09AW5QZ1A-ac)ce1<6#MoUwOx6SZa%bZp-D~%C7&XrTStGl# zV|Hu^uBFFQW(sD%3A9xHow4+J5lZNvN1z$;gC zBAS*j=+|?|tD5$Q>*-v5MlvnN5MT_Ql3|zwAZ9ZbJC1$)MO?}62s@2DMo5Of$q6PS z<_eHC|EY=XO3&T78i8h0;?4FM-aIVvWxss&n`jKz6OG~KRNu{#y1kW{rVR7cpBu(`#ha*aF;&PH3kD?V z=5X`>0@r}tG-LRA-&{Y3&b!9Hz|O%0BGvo?2xI|*P$g|^{Hc=Y8h@&!v+UI$$i;GN et&*W~Ypu2}fb})`WdRIzko*V7{`-sxuIw*-#0*3L literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc b/Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1471f32dfc9f4ff3e3e84e1774937e3cafc00bf7 GIT binary patch literal 3142 zcmb7GO>7%Q6rTOFz47L^uJhMGz%5{YA`;PthCoQ&Py)r!#t3RftSs-e*s<4UcAJvO zjVkD&m5N%#Aw`IvN|l-@NX>yG5~P*5aEX;v4%=`-9JpCcC8~1a&Fqies^Vv)o%i0n zw=-|v`{vF3+}PNFpglJ76@J`@&~H?5o9HlG31H@thBPjRk~Za%9FzGZ50uXdc`+$+ zR43%5yf5ivyqNRn1IYk~cys`1(rKjmmUw&Cq&&k#{eMs)9_6g&MC`4xX{?*CrgSZb z2@FZ^6i7}3Mj6+O$6ZC*{@v~aj<7Wh%sj$~dIcVFSkQR*1T1PImW~EsZ87Q7eAs`K z*ZjZ-w7_YUlrO+YuA=OixRKr?{UjjXCpm$<`km&6*Y^JX!d zU7HfhDlT86bsl=_l?0eUc5O-`NZx8P?Bzl8WZPZ)8U@Rm;BheOqRbmZ=%^Pfj;_#C zr*haOhjM5JMUdIyTI@umM^aOVTeJC73C%7md zpY0hVq(FMp1zpE!Gov5t1yuAJh4d6QhkB#UgvP}ZGP+4EZ$9cne&?`3Q{2ni-9xdV$+rzmjL8WT%gB6eW% zKq`+_8|#y?T*@#o7|*~u`N=po0q|3k-eKq~&R79e&FC3ZRcG63oIJRxw62EwmmgW)w%WG4qUzWI5EoG(ve-d^1wYwzWm&kp-V#x$JQcyDv=kd!~RBj^Wtv{zUOG>vu(E8P#|;QYhxv9+fQ#(f~gi zX8575SjzkCvS;_c!AhZB)oS1p8MrKwLeo<0e>Ig#HrBuoiZuspe%lv3+gih$Gt>)) z#%buFN;S1rd4FSgqrH26?$fzS`;+DNCl{VuYk&5F_{+BT&B)^nfZElm#i^zIT4eab zK`3mM(5`Z5S0yx14h<|1{}`%_9xjg_UQN7PNxWB1ytf`wt3lMf?apllg?erwzA?Pn zvVFB;W%4gqCiI*V1UNszV>Y$Vj<6*>R4E$_MEk*Vf_Y{m8Pe6AHZH9U( zp`GQ>PPiWqE*@MD?L8xJbU%DXUJrC^1X|BGpKZPo=-dKZcsmB^^`z4qO|=?SHDAz< z=P0kJ>IcVDIY%QHCLuIBgw|w2D-fV6lQzjCRHmC?ek~%>PkCCr2z{Kfj@D;mFLbA& zU^PkMixX7@WI;w1KKl;tbMD~2`uDK?fM|0q=?&h;-p6cH)?=>1nIcxm7YjPPWsSc2$Fse8wyi str: + return os.path.abspath("Client/" + notAbsolutPath) \ No newline at end of file diff --git a/Game Client/Classes/Engine/Utils/StringUtils.py b/Client/Classes/System/Utils/StringUtils.py similarity index 100% rename from Game Client/Classes/Engine/Utils/StringUtils.py rename to Client/Classes/System/Utils/StringUtils.py diff --git a/Client/Classes/System/Utils/__pycache__/Path.cpython-311.pyc b/Client/Classes/System/Utils/__pycache__/Path.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..36eabe238a3018a3f5b23ceebe0de8b97c093934 GIT binary patch literal 747 zcmZutK~EDw6n-9q*3=Ux-`j0BO<*STzBliC?|bv+tW+8YT;FHDs!xc&=`vVu z-|0O<=NKeN7C-|ytbpYEAe~bVaDgXV4JO$usJMUVTHowPQ^=KO@p=pjFc%tJGUZ6F zoY$^&_T7dnU92y}#Z}+FS+~s~z8gk%al=GG+fpnZ(aN@UxXFgZN!!8Gdy#6}A?j_O zcapzyh{kz7LI(qTeiwDohu!&QQ(6>*ZS2 zTQ^D@&se2CcuUH>vr)@?83xTziM85_mx&?x#wg=0hg-;aG^6oovbol7Jh`O?!zzlc zMVVk5UKXo8q@hkfDn#gSD zA+{sg4#=Mn;(gl>`ix_&))QFp1#}5P-yuW4n;LS=6Exj?C!7`L&!-YV_?AKH-)1sN z5~*-q9Ej?BO9)`w3&+bSER6%_nfv{H55xTZpv7e+`bT AfdBvi literal 0 HcmV?d00001 diff --git a/Client/Classes/System/Utils/__pycache__/StringUtils.cpython-311.pyc b/Client/Classes/System/Utils/__pycache__/StringUtils.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4052b1a4c16bbf923e3a13bdea86858748cdf313 GIT binary patch literal 1233 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 McnS)ERzKN)0Rt<8 literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc b/Client/Classes/System/__pycache__/InputHandler.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6739cf537d6d16054ed8a9ae54e550f19b409ab9 GIT binary patch literal 3476 zcmbssOK2NMbau6?k0nQeNOmHpisJeckzgE0Nuh+$)=unHjveZJs8G5%-f?1kExEgL z{6Q+FgjRXX{8XFr3v~!6$`kR-KUl6gIusL|~4h)uwOk_?W8SHt5o8~h-hhvZ8nHDkv zM|jdtWZ^E6#fLm0PvEm!MwGb`lJq`DbSTN0;`O|$$S`PlFF&fv7bd78k8Luu&M|xe z&}BkNhLcH#m$|znYeo2qA)AKtX~#s04NRPg6su6DEq*?-wa*M z&CC`CMsu=4)jE6Vst3Lo=a{{Mtq}T2&PG<91=%y$KZNgzGciIQb3;jw>77})H9AdA z&lFuSgSTiwno+5yQTZ`>fy^%ld*9Ap)u^gvwF0GgvVByWD&%Lf!#QOlN2M#h{n>s{ zAoVH}G*`&>Dx)B+Wk(i(eLA~!Azd>IW&>EbY#CT=t|PhxKbX~;04$Mb;pn}^YPh`; zZr8(|M!0j$->EhN$@HqUFstV3f`gmEg7Xvt09nA5@Z+`yY1Ii5@H(wNGzEK8fj)`) zSUY47h?d-wMn}7=QRQX6ME0arwB2*H?$J*;V^(uDf}fr}`so}2SL+`A#B^cJ)yU$x zw|x)n)VfDMS@lA#b$)svKbvh^gcM1U8|NQFmOgPZ6-t6Iq~e)={tvY0NJxfM+#fZJ z0DUz*X=&8-rlrC27p@>8o4&O4!NvXohRvBmTDp1}2^wx z4U~+c)&G#(X>-a*W&WQ{+gr=#ui?mjd8O}uRu8ut;np>OE2~js&JIF&oZ55~kY!TX zLURlE)(S9*8^PMDQ-kao?CWdR_KZ>SR3rr}HGJ3TSRt?WnBsJPR->kmmHE5|_nM$l zWn4pNHn$wFfJ?}AIj=1q+`i*B@1!{^aZNuas)MrxNec<0&Ja(!-~X@aZ-G zX{%U^b9jx8IV%D|CmseEUxvJ2g~^?*ew8J@$h*-ha=W?c7K4P8JRs*p5#-SNj#h7r z$qB&gRMxEm^}K!L#%Cq5D6V?9^4Q~gUf2JUcb5{5=Oy3n)?D)MZjGft(OdM4@$>u? z%SRP){~|a(#hh1TIe0nU%NKn`p^nQ}3~b@@F|JRG;uvs`kb9rY0Idx4sqLW24i7c^$EFf+vFC^M#war7@!lkZWqjbfVz(?C{ln!4kjDaHqfAUpqc>7Uuh<!f*m052MAW{w#RS;%c>P{VqhaGF){&?lDT1Nl2tU5vdl{~0X-(%Mmo z8kD@q!D^(f5^2*T9Y&<19H{L-^dPuGtMTqiyjzd=7;r51_mo9v{$wS7Qjec9;-~ce zr^@1bG**o!E77DLJ#IvgZxCPL4F<~RYfUZ7%9qL)xd%C;siWM#1CJf4#!ggXC-hjC z5$h_aYb}XtOIM|(OK<5mTDr@F>*1!AcBpcVpc23z&Ss7Das&88kjfN7-SK~VARs%H@3wZpWt&9g2+p#Z$se3W8j?) z{QJZ=F)Yw+2MJC*vvTdLkC6M!b^vmbRVEjC^gc>PUJESG(3hmws>9LE$8p#2%}J=p zS{M88g00GoZKt_s!CEmY+P31C{iz}WYr^sX literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc b/Client/Classes/System/__pycache__/InputHandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e4c10994ee5b541912be060c28fed5e5926743d5 GIT binary patch literal 3083 zcmbUjOKcNY@a=lnpV+|>*hz4xanm@#DvCldP*o{Xn?RD9eAMt!EyF6!K0}iAr@J<> zEgNyj!AMAj_K+Y|f=ZPN;#yTb_6TaF#xbpgxH7Tv77$BBBqAe`ApTj2iLgPILE0c0B3zJT z2up^E$So3)zsu?~gM6Ct86P7v?qgK`OiY$UAe!EbP0Ql(St^M$x~7h+3yuT7L?{U| zA_=l0vq*vlk)>Ri6%C7AkO$g0x1)BdPJ^5Sxmo0?1$3IioM;5znl|~&s%l}{w&67{hvm%2zLl}iIwa2=0F##pE}s3ono-c8La zncekeRuy3yC_e$ZOxAWe@|=dA8HugEWbG_iJB!w?FHe6J{35t&?fd#f$sZ{A14aMX z58)pp_am$R(Aq9%e(0gK?Pc20`_WbZS+xEt+Vl74SN*|PwO#Q9Z2xX|Toadvu7!&B z&J}Z~)+lDm!GKK?Qf&|-Fwi-xvPPY=rr4{kL9?QvInyRxp(?FpGXZ3506tESwCOaR zNyOxSm5;=d3RO*7r;RCa#c&Fh!V0=mjv#j7G1QujDVg^A09GV>V1nWXq&Lb-S1x@X zzA4?1O78xGyT9o67wv~u%!l-j$uHo2HdA{?RL|oZSbB+M$z1hBz-SpNyUMXyw$V9d znHSwL87m<<1I%pDRADBTKpj-p(`Is@0~YF`qBBI!X2Cw6<>&BLsDp}DBd>GDm&|G4 zZ_f1Mz2?j>-cinyHD(PnY>J(CVfh1R&VbMJ5EF&D8jivf!pGP?@ya44H%jBXsusg@n2T*v06ciytrvU|yT-MUOm?!JP%uLv36 z(x2yRh7T0n2a4{4g_eVP{*lvFa{3BRU(xyIQ)05bmOr-E+OZ^Emp+S@TDuFa-TC2v z54iT0T>A^I{Y6)AKCsr|DRuM~I(my8efblQ?5)e*2lgYkdTs{_okxDQANh9pyX1ob zdT(LnLt2=i#R0n3w&zpZ69aiC%&a%Vn(I4Bi$kl$ai2{!3qlm1O@i7a2$7hWl#sRw z!pF&JNtfui1Qxlx7ZDbV{5m3xwv3Mk8B16`j0l^#W?egD{hGlf#!o?wMe>wm_1-VFl3bq~WIUOs*E+>LV^1W1%QZh6;1=D7X-GyLf$(TLBe_c3SriPt;v(HwL% zrB{0>YwoD7df8^K>8_%oI#-{Y2lV|Pl?OnIEl6nxv~FM+<`>fZ2kH5h9Qcdd$2gu6 IK$=JY0QSsnFaQ7m literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/Window.cpython-311.pyc b/Client/Classes/System/__pycache__/Window.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a9adcb8ea3d49e8acdb762e4f9c609ea1bc8588 GIT binary patch literal 3318 zcmbtXO>7fK6rQzr?TxXWkl^5w7)%O51{$EM+6tu{YLXxo94QW>vP`$eJ4qZiwmZ8a zN))6VaEGAt6;gaH&$ICr*8D*1P@*&;yh4 zoA=(lnR)x(H$VA45bzNw8<7S2okYl=DA+};GkaHnxkpr@3K~ga>(YctY~7k`&Yf}# z$cvgdC#58TxX2h$rB$MOHeG~l!Otowk18Zd%=;Y0L`*P+(?EP57cxv8%~4GSNxD&B znwqVT;ElH~?EMYQJwi!JP)W*l9lS}osYoT&H4HtfJLTb$$R#P|r84w+P@)~P{3~%L z(0S{+11Mve^;<3PmHGIv+CfFt2fqVUp7N;vRVfuv1FIwz#GWaa8eA1qooE4kC-7a| z(xr9*e^5OLYj)eSf<-rId(>I1f&h$;pCh%L1ED%`vf4o;Z zY;%<)$s-{V^D$I0#25qIUlN7#Vl;j+eO;$aPwNJychZ-se%mM% z)8ly!0H939$I@f4yb{-PG;gHiT1MBYo=z@;`CQt<)ld<9>Ha zklNw?lDOutg^xlLs7rr^kKPaNgwJh<&;4}h=l;jWle^{f*Z#Ou9sj%%&Q!x0w0$ZE z*Md88-?rRWkt0<(QkEmnPR1Ujzw)dFtMWjZ*F9K;WSwk-fILSVrW((pBw@Id9zn2K zA22#vL|H#j(=$QyDrHN7`WIN@5wt=)fd8_;B(kHxXPv}?fIMFWXKshIvt&%*sg1e# zx;!B|j*Qk<$GqOa{pm!|Rz$#R55eF>u;efK-@p$V3DoXhrv1G7CMlX&hlM}#ZhhGFa^5=@5aVbqvs`Il!Nkq=2}IuYs^ zfP^46*>NDvFzA@3Mv@OuAll-k0IBHgS-V@7`z;rwX;zpow!i`*!C`R`7=*5CtIHHsmRaB)+W~tAtXfjni6+S+%NcYG-C63bC$LR_8V4fe z5z>LLeP8;%dGFhgD)RBFe7tPe`gbkxo3$D4xEJ_${SM5lzpM2$yi9Ihz3VcX=4qUb z8#vp(0&x*-<+AJL=X~oLV1?U!Uum`4gw?j36$P?(tr2Cf8H7|fo)$X8%a)x3Vv3Ar z4eOkh!6;tP3e5BZHv#&X+uGF^&{CShXNit$z!7VmEghHw{z`E`^(V@_?z$Vpc{&r|Cth6)AqS?TrmM=W8;l3c^d{%oR3=MJ(a6EwCB^Y^!0;Sn14vFF zIfWz!#PsTxIXjDzN9PDOC5~Zs9?kHUXCESoBEenHoFJo5z}{JD`m1$^R>n&4 zvKWF|5ks|}-jyq*WLfNmS`m9|-Gf&DU|Afjh=a92&)R2Yu@7oR?5knCtNut?#99#} zyP_<;yGwwqCwcSGY97bA)K0>J6oA~>#3M)%90yH1fv#igI%X#CbJ zYzBR(v4fZh!^}{-0pAH$R(S@aVAaU#3whYW;U$LuL*Rj^F988O3qp+qR`_3y^p)-U ej9e(U)*3lgZmqjwOu$clIsJ$0|9wR-_w7FwRLYwG literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/Window.cpython-312.pyc b/Client/Classes/System/__pycache__/Window.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f345dc886b58d5002e3e0b867c60a3501fe1295b GIT binary patch literal 3104 zcmbVO-ER{|5Z^oB*%xCwA;G~V379l|9HjxOs#FMgz=Tji5($H-EW=@Zo5bc~yL%TR zM~TEkDkTyq?NdTuC{KVQ)bdnNEAa=km55T5=t`wZZ6A0Gq*5iGIlcnFn;!p(63}d{y@PSlFO`|0A_~hL>CN_!dWzghoXR-&k%=vDIe!0 zLmHA(vOq-AO>}vJ=>9p;*(2pI3u@pc3cade3;TcsPZTpuKb50~4w8Ja$P7K}m^(D! z3M+dBJfD)3pp%q%0pdvcs6=I5JPIbdFXiWw#3eZupbD({QKEJEE$%Kg6RZZ@)#e(t z%jRS2b>N}!-D7$kmGmI|Hc_SDuZJe&R9FvBkW>U$`b9l5A*Jfk0{D918@Q#YHvqp` z-wY9TtluAO8)3akZ-Vu`>(}%9*6YA$3-~naQMwiQX5eGxt?E0r|6;D77e`*keT3K% z&5<;1B&S=0FF%Ef*!30VAk7U7T5lRlWoxilh!13jXq*-Xas^uBY2_?~);O72MronO zAZrw}*KC=eVEdgtZJE1eJrv;ukcXhi$`M}CF=32osOMu$1PS!6&qNZw;>X3$pltg8FPn*Bpny~lYdhKM{&{$E6!J>Tj)=duEUC~C9f>T6=y z;Er0Iw^Nxs5PH=hLj}W|voH|bUn*nu?0}v#OGc(_D<-wHp`uRh;He8|&n6S+y1IH< z1Z|~UA!pf}&>)*BS-E0Cm2AnRMn7x74KaGw2*kuV<1pSN5=YV(Ov=o3(xUWw`Xn{4 zS;bQNe4;zv)6lGS|7DOww{hZ8Gm-L=cnt7eOKoD zt}Mhd=mG%`lg=8y0LkR|lCEj+1lnKM8 z@c{D7T7WUpHqKgs+WvF2pi?#)cH?)%ZDfpfBykCqqxYw^} z;%Mx~fQ7pie(NkCn!Ok}2G?fcJhr3SEO5oU;Kp_#!SvgHMy+91SXF1NBQFEi3(Bxz zi%2@vhjJh$*-jv}0H_N)jrX-Dr#b0}4^!G(A2w{!D3g!jT79ak#V!6c`DQ z<_Itdiu_tkf_~$MHRoCi9#&P+mUNaG;W2y3dmsE)6|f#nk|mb2Xg7v4+U%BbjUFEx z6H||H4o?TCf?s?%bL`7w&y}6-ZASQGT?=t+jQln~0P|nB@mks zsd=e!x1-y=6mFWnJau_NYFYB~*ESz&TaembNs9czY;u{vbl;gCCst5;9TVj6vR{zf zW|J!fCggX_n#k{1t8bhA=+5!m#~nLGklVjLb+6}c&tk{n`HsV=ZC_SIxlfp-e-oUY z+hF`^z)4@&dAmCyYZ=3|x492!XW!L4K+5c_;*d$;W=Gc=a6CCl;|Yp`RW)gEl%r0W nkF(RTfX&0i+ARA7LHLz~Uyzo+$f4iJo_{1&=o4NOq}=^q+2D8t literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/World.cpython-311.pyc b/Client/Classes/System/__pycache__/World.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65cde385dc53a0d2865d6deef9810b25a09215d4 GIT binary patch literal 880 zcmZ`%zi-n(6nI`@0wfz(uGYwK*UaVL1FrP6^;qw`|>_pK&E-enn2bh?a+L;Jy9iyMX6f$>Fq=W&IL*GT1p09<& z3Y!Z!haxM~-`#${OQHIIAuCRGQGgBHvK}>JG=S-Q=I&(o-c{EzMk<@;3!5=^3e~Au T3#Z7i(Pj8eu|NMfFdhB^6?D4! literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/World.cpython-312.pyc b/Client/Classes/System/__pycache__/World.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e5851d52f0980325e79b5057193d513f59243661 GIT binary patch literal 774 zcmY*Xzi-n(6no54L>WXH}DrTnpQBR!{ zMZ3;LZ6hI3Lq^Hx&m4wl7qJdXR^9^xly7x?OH*17r2R=eNVJO{3{)skLs+js(|{S5 zI(l|gE#@cgQN|SnoZZ`eU3*!3v$qW11|J(gyqkIh16{vD(#NzRkyUZg6FG~C*MvBj zMR5_)bitWBP4_V|tLzri^(J~hL*6K#K$HF)XbI*T!U9e>b8Z~F%-MQ(=R@m#>n|WJ uYA7AmTrR70gBZ<~w>$N=i*Z`|D*9-ZhW?ggn=$qa>i@XQwoU*culWzF@t(W@ literal 0 HcmV?d00001 diff --git a/Client/main.py b/Client/main.py new file mode 100644 index 0000000..d243f0c --- /dev/null +++ b/Client/main.py @@ -0,0 +1,7 @@ +import pygame +from Classes.System.App import App + +if __name__ == "__main__": + pygame.init() + game = App() + game.onExecute() \ No newline at end of file diff --git a/Game Client/App.py b/New_Client/App.py similarity index 78% rename from Game Client/App.py rename to New_Client/App.py index 31aeebe..6b0b928 100644 --- a/Game Client/App.py +++ b/New_Client/App.py @@ -6,6 +6,7 @@ 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: @@ -29,9 +30,18 @@ class App: 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() - self.__eventHandler = EngineEventHandler(self.__inputHandler, self.__world, self.logger, self.__tcpClient) - pass + + # 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 diff --git a/New_Client/Assets/Cards/0/field.png b/New_Client/Assets/Cards/0/field.png new file mode 100644 index 0000000000000000000000000000000000000000..472f0a12fdbcaa451d9a8e19d34e8284e4fb1d56 GIT binary patch literal 612 zcmeAS@N?(olHy`uVBq!ia0vp^(}4H{2OE&&YL!T3U|`brba4!+nDh3^Ma~un0oH?& zi+BE6Y&hGLRyG&c@kk-#(m}cX^?lmEFck=LN+$6DJCcFe0M*+}kbRul>1a o_c63aN9d4};)o;u<)`Ug-pZab=h|0sVCrG;boFyt=akR{0KU7UqyPW_ literal 0 HcmV?d00001 diff --git a/New_Client/Assets/Cards/1/card.json b/New_Client/Assets/Cards/1/card.json new file mode 100644 index 0000000..3ce8af5 --- /dev/null +++ b/New_Client/Assets/Cards/1/card.json @@ -0,0 +1,23 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..76bef2df3a641b3c7f8b306c2431a68d97e45abf GIT binary patch literal 4204 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 literal 0 HcmV?d00001 diff --git a/New_Client/Assets/Cards/2/artworkjson.png b/New_Client/Assets/Cards/2/artworkjson.png new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/New_Client/Assets/Cards/2/testspellcard.json b/New_Client/Assets/Cards/2/testspellcard.json new file mode 100644 index 0000000..f812019 --- /dev/null +++ b/New_Client/Assets/Cards/2/testspellcard.json @@ -0,0 +1,9 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/New_Client/Assets/Cards/3/testtrapcard.json b/New_Client/Assets/Cards/3/testtrapcard.json new file mode 100644 index 0000000..13ed51a --- /dev/null +++ b/New_Client/Assets/Cards/3/testtrapcard.json @@ -0,0 +1,9 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..ba5da22ccc75f0be2ff44b31e702347d8e45ddc5 GIT binary patch literal 10988 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 T(vt#+-w*ym-ruiS;2Qn`mQT`T literal 0 HcmV?d00001 diff --git a/Game Client/Classes/Engine/EventHandler.py b/New_Client/Classes/Engine/EventHandler.py similarity index 82% rename from Game Client/Classes/Engine/EventHandler.py rename to New_Client/Classes/Engine/EventHandler.py index b049a8d..8cb9a0b 100644 --- a/Game Client/Classes/Engine/EventHandler.py +++ b/New_Client/Classes/Engine/EventHandler.py @@ -2,7 +2,6 @@ import socket import pygame from Classes.Engine.Logger import Logger -from Classes.Engine.TCPClient import TCPClient from Classes.Game.NetworkEvents.PlaceCard import CardPlaced from Classes.Game.NetworkEvents.GameStart import GameStart @@ -10,6 +9,7 @@ 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: @@ -18,14 +18,26 @@ class TCPEventHandler: self.__world = world self.__inputHandler = inputHandler - def handleEvents(self, message): - if message["event"] == "login": + 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 @@ -44,9 +56,9 @@ class EngineEventHandler: __inputHandler:InputHandler __world:World __logger:Logger - __tcpClient:TCPClient - def __init__(self, inputHandler:InputHandler, world:World, logger:Logger, tcpClient:TCPClient): + 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") @@ -62,7 +74,7 @@ class EngineEventHandler: self.__tcpClient = tcpClient # handles the incoming event queue - def handleEvent(self, events:list[pygame.Event]): + def handleEvent(self, events): # TODO: fix bug that stacks cards when dragging them around self.selectedCard = None self.mousePos = self.__inputHandler.getMousePos() diff --git a/New_Client/Classes/Engine/InputHandler.py b/New_Client/Classes/Engine/InputHandler.py new file mode 100644 index 0000000..8df7dd3 --- /dev/null +++ b/New_Client/Classes/Engine/InputHandler.py @@ -0,0 +1,53 @@ +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/Game Client/Classes/Engine/Logger.py b/New_Client/Classes/Engine/Logger.py similarity index 100% rename from Game Client/Classes/Engine/Logger.py rename to New_Client/Classes/Engine/Logger.py diff --git a/New_Client/Classes/Engine/TCPClient.py b/New_Client/Classes/Engine/TCPClient.py new file mode 100644 index 0000000..a44fbc9 --- /dev/null +++ b/New_Client/Classes/Engine/TCPClient.py @@ -0,0 +1,52 @@ +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 new file mode 100644 index 0000000..9b01eb9 --- /dev/null +++ b/New_Client/Classes/Engine/Utils/Path.py @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..e4d02a1 --- /dev/null +++ b/New_Client/Classes/Engine/Utils/StringUtils.py @@ -0,0 +1,11 @@ +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 new file mode 100644 index 0000000000000000000000000000000000000000..36eabe238a3018a3f5b23ceebe0de8b97c093934 GIT binary patch literal 747 zcmZutK~EDw6n-9q*3=Ux-`j0BO<*STzBliC?|bv+tW+8YT;FHDs!xc&=`vVu z-|0O<=NKeN7C-|ytbpYEAe~bVaDgXV4JO$usJMUVTHowPQ^=KO@p=pjFc%tJGUZ6F zoY$^&_T7dnU92y}#Z}+FS+~s~z8gk%al=GG+fpnZ(aN@UxXFgZN!!8Gdy#6}A?j_O zcapzyh{kz7LI(qTeiwDohu!&QQ(6>*ZS2 zTQ^D@&se2CcuUH>vr)@?83xTziM85_mx&?x#wg=0hg-;aG^6oovbol7Jh`O?!zzlc zMVVk5UKXo8q@hkfDn#gSD zA+{sg4#=Mn;(gl>`ix_&))QFp1#}5P-yuW4n;LS=6Exj?C!7`L&!-YV_?AKH-)1sN z5~*-q9Ej?BO9)`w3&+bSER6%_nfv{H55xTZpv7e+`bT AfdBvi literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc b/New_Client/Classes/Engine/Utils/__pycache__/StringUtils.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4052b1a4c16bbf923e3a13bdea86858748cdf313 GIT binary patch literal 1233 zcmZ`%&1(}u6o0duq}ym(TZsLjk=!%~W1*l>N-3mLBod*qErf(6WT)xY?QY!J_z@!H zAXvqdAh{^?6e~ICv4VpB2QB1K7CebiZ;^N?J^5z0*``!ycYg29`+jfcT__X;TpzwQ zs6qgK@I!a`j+xFRGIdZuAsS>{N-{)%1yF>ipok3tpo!aE89^awi1~i;W2$g0bx7By zGmghPP{p%GocO^ z((YRKEMH*ot!~<`+M%1mD#4VJ)psJULIXXUp7%U7P}%ehPHUeKtKU=M7^rjQ^x=nETfdY zqid>8<-3W6Y(i71ZXwAtMp^czUPMjSxsGhl)x=AWkNRhdRHu(h=4@rMS5>5z?3N@m z=Q86nno-DWY&PzB@cFT;2!{u705#a1NaDXk-Y&n%ZQt07Otm6YuB;b3=m3?GMW^4W z8$4>PMm4Gzt+k4%vgw%L4!88cV*pFGw088v^WY!TtG20w>KTf(^)1Ab)KHH4b?wFSR_ zd@J1sB>x3B77r5>O@5o^5C 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 new file mode 100644 index 0000000000000000000000000000000000000000..f41445ce6f4b8cc4dd1d450bdead19e0c3ebbc3e GIT binary patch literal 7252 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 literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/InputHandler.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3df4b9d67cf980be6a9ea15a2abbb352fd46410a GIT binary patch literal 3564 zcmcH+TWk|YaPNHQx4F=egjb^w2*FVm5Ot{32U1BOAVWaBs=9_#@NE(&=d*ivArGCa zeB{F)e9#IhNTpIfC@n($sZ^<-eD;G%c4RfyNtGhCeDG(QRzm!=vwOZfJEj$F=sGtu zJ2N{wJF`2x`6?0#B519!I&;$6amhec-1r+6#TnZ#1g_N!AK~=O z?g8&XO#z_<2VAy^%LCVgy<@DzEpi)1_^8Z38L*9j7T=^51T8PF(~^8RB>CYB;4s*Z zj0L4&)2J;{2v!(2!>5$ow0?3_kz}kktc^s&1K;{l082=>od7(^*qvo3W;Tc5#&ujk z_nDEX$Mojr#z!;Q^i1J7Gc=BMF{ffp!_s}UPDVW+9(+4_NyDm^)O3umCx@^$rDt== zvx=Nnuy}EBI5{Y%v7!SSg@Ib~xH1lsWc?cYb8}`8jGwb?&v!HkT>)$tq_qQBK#zsC z8}q9|&x+7f5_-!*Z_(eYhC%dy#X}{NM?I<^kjZDV)39i=kyWyv=*((_hy-x=43XN4 z*}ZWw^-|(--HMD=p?5{-EeX-G5H0$n)UN4Ou|BOT4J#ujg=YE@WD`yblP4cjpYdfU zK&6S7Y&&SiBTFQ;wbaaqLm197|G3 zrM0av^mC}=Z$`E?ja169D`aF_rFGjsjclHCsvJxFw>fQZtvMeH+ips?hi)cILU&o{ zF8aHhtFBX$A$31kR(lCJKtL3L$lydw2!f;c6XI~*++4V-@^qSCqy9Z8h1cn0m&7qcizmAu> z-*OqQ5~aQ$emL#2T(uu&iXY-?KHLwV=}tJ`xp7zbGp39u!40 zD2kb^G%XW4EQ%jbkIFSkSkp)KbSi`OiL7K*ZBjJVP6GB2K#I7!mw+AsrYEiFCMTyg zT_wj~9U!3bS!LY-?2eX-6R)P1m*6;qmV}+4knvG$6?tj-x t+EMjA2q8JM+Iav~55q7O6j`9ZHS|ug@vq7qV!+R4@Raa=e}RB{{uj{r-p~L5 literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/Logger.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0dec2369ea2df30b7fcea6d2699bb3033d436fdb GIT binary patch literal 1304 zcmcgs%}d-s6rX(UM%`U)X|-RjOG{t_rN>gFl-gD7!EPy5T9!aaH?tu&o3%4h=;FbH z2MZoN6ukCOEMotJ{t*fumVlS`)Z5B>^3?Z|Y{Y7>eaZah&C8qj=J(!^Z~6Qn0r@fV zmHre6`Gt$V$cfS`gR)I*VhbLr5s}OiTU;l$v?CI-2P2l6U<>m^mw)53T2HLe1d$`@ zm0;Q?lz=a(iMFs#Y7)k($+iTj*fK;=!pvODaVV>&v0+;lh6JNG7sUwrF=4fs>Z@=D zTePJBtbJKbqkNZl6gV-ASOnmN`KqB{wI69^i`N6UNp*f-D>pf~v* zUb<>h&MgPNv{mi-r1oM`n}?ID4cDXS6Kl1KKeGI6>&1haT)C=URsC`bW!Fg&k|i z^Qo{|*eC$=&D_?T19kjR9pCT2>?-*EA8za#q|zmJ9j2I@LK$l@HU@@sjBbIUol6)+ zK1lR(O8G74KrJ4s#r^&pQL5@0ybyR{O*0%cO}Mbj9_l&M{IG0A*WEPP6+8@9kYUnY z5^av_ihl`)fP+r~tffy^R1~--DHKGd*d-~bqB4QYzafr}@pLgNK@^`A!El!NRDB#D l_6eJS4|tRKQ-H1{2ttPx)}p7IDF_h$A{?XbK8 literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc b/New_Client/Classes/Engine/__pycache__/TCPClient.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cd3e928efe2dff304dfd266d70b7bdd70dcd0ef7 GIT binary patch literal 3578 zcmb7HO>7&-6`uVgxztjYWLh$9DrQ7AEtSNO1xG>!S&=L$j@*W6E2TvU0SlHpRw$E8 zb#^5u0wpM|4@xVfE)c*5+5#%zI7;oJIU7DJg3hj?@YY0_P!1s?GTJ%*oCGP1_ap;YkSw3$wE z_L=#q@64=X-F!2vYXwZ8OZq{H6f_W&S$%oM9mq9SU@X*V9Nz@tKEjAvm*L+*Siqvj zjX|%*V@VU>C*pu6;oz;17Pu>BLRt{Zw|FfCa#)k^qD-3>2C8UnV3%UcV9!(`4+hz1 zRZmt`vZCvGebE-PnnrAKxkOA`x&${a) zR7Oj_4qEc&K)PIBGE}6Z4kH(j!U!q?>yAJ(!Z=H7m%IngGq=y`Shr5H`7v4p8;B7l+{MCHv z5r~hyCWSu$NKDVK_0AAdB8gl{*Ky7S&?Epy38R#|jm^=-8>tQ=gPJYmb(2sZ*#T$F z4o<$I&ZcMP?Y6nMr@p1m&3|uZ@-167bIWr~nNZIWYBHgIwiVnIICik{LPB@PmS^72 z;bk*l(rsy(z^m*)A#a#iPX%nzz=d1P2=;z|S)0QK-RA@=UrtYrF1%x4Vl03nUR{{R z#%;5-yzsVO$mwR%+dON+9KKa*~^L50_NuL}kot3WF_Fe=6wWh)L9(^tY%G2!WOY$_`JB`Sez2aDJ+ zvWqz9!5(IN$)g61`%Vyn7UP!Y* z>s{wfx`B-XfyqBF&{$~k8*pyS(I5lK53UrSUOVr^i-C2`4HhkHW=9jLAnAg&?I0b> z77DhwWKcY7E5&8Q4q!c3(l9v(Q%E@GnR&w|-dF>#1t(tt@O1@rICM;#5;?|QRiWyEG@(IJt z;O=)TU4u}o$`wnwQh8owpbgbiD)< zjo$#F5DdxPbv_vBuJv5}WaF@B;Gkz<_iD9g(CQhyC)UpPKw|2gckU_2J*AAmY2hpLuv1)X}icVCb6DKD}XXBt4>GsJ{$GJ-P@ZJ?5 zP^%pyR>w%CW2Dw`?w;g644o3F(UcYe%UBZo$z*&of%X&O>p@|EpzAs>Jmn>jTQEuk zkN%E7267*nP552%ExD1rG40i;qej%SvrSZXi&hj=A6UX6`gv2k{eCHg6|LcO(+vfX|diXVjH)zAx8=!J?~ zk6{70Do5x+s%MK>Rqe2<7E9Vnfy#=i{%9pzXpD$IER_oO8CA{dddbYv^WT6;f?*Ou z9Y?62$VDK4+<^Mx&`S{9X(4NBdL9ZrK&3p7$`tu@qNX{|MMwbEMa;>#R(K<9%ZB2bmvin{q zx(a2;h!SvYg8jiCG7zVevHh?g+z|FJBqh-BKoEvM6vl{jKl#(nxi9ZEiC=#4=H=XT z&OPVebMN`wFFyr??F7n?J-@J;kC4Ana0;z6Ye#{(O*EoOI!R#d(WNt3dv(v8H{q3# zr#hXJ6S71+WP)h&HKO_Mc?fw3f4d}nnlwpb{#6v?G0Bp40crmvo8;P&G}ASZ0#ZT5Q&(8MyJfm4p(f@IyyoY$gC>>?~Xg|xd;41SB5CuvBA#ei;C;s zz-Usl_iJNnYjAQ|=--|38~bsQS#4 z&ygUUVT3aYOvl)V8)auBMjV(hAVrK7HN z6d1bk1CT{hjr8PcAyAF>K^3e^&y-MM!}VYxm=8XS_T34sME5L5_x!f`_nt@QiC|j46txF%5mEnpqTvCRgKnI}}WnftuDDJ&GR#rwU%4kU$eHQ7x z_4P_*=W=9cIkKw~*(Ju_)|;mlC0Y{S8iYksE+RodUhE@;HlDJR}lPqI3OQ_hL|Kk67z_0 zMd}Rn?5~fG*f@vhj=SKF0^?jmSh)+H599-H5eMSbi38Eo6h|8jdsG~CS2orc!qwo^ zjd~<@&hwDvw}=G$av~8BZe5Wxc%C+{h)}!>ZhSWqjL7nFX3q1>tMiU~1d`HlhOH+A zq0DyzX@o)B3^OOivF$E^tJ#INc%(ooI=Tv1OG=L&f;_{s^SLHiAS47V4giC&C_?>m zX*^L|PqKCJcr2>%8 zS`H6Y!b8~07D4idtAR~7kKH(S{Y2qJ9)2~i(LsOp#VN!@M{2dU*vXH0l$smV+xYbNpbG*q?W4)z)*7b|V~C+GQeGR1fw zj!?%UO)aUr#mK93x%5tk^E+>3rtwGy8sZ(lM{yS|jJk`LTao|$8-XKHX=5QomG*+=B&O@#%vHCVvfom%MPx-Ha{TB)A@|nov_W}8mNJQdFBx|%>mIK;T@~nHa zUJiNQ62I=t`Z(etZxD(9j7UD2TNA9w*7_{$ftQf4;b&Y~QQ~fpwD3P9Gigo_Etabr z>Xm$1D#;XR;d&{*Dbs@4pEaUMJpLDlmdOOI$$H))vRCFM?qv|mKEON-L!KA0Rgx7X zKHJB7`It;x^P6)K=p`Ue>dOY?AW$Mw9wIyXNPfxxzytQf&$zN7ryNEF*t}uDf(+{i zEW|LhBg`;yZNM52ynd5+%)uK#o^;GPw=^hwr6D;i4a@y2qBQaupBXtAmmD`h?SR;8?{GIb49H>SjnMUho~*d&XNVADfZpO4EjwJAl-tFrDZuIE=}ou_g^)xDrd7xN0tv`~beu33B) z9A2=p2VW{?0Y?1e62LD>-6L@yvIwFBDnzh#NuCEleQk68%&B&q5wd3EYj*bR@YYyo zTPN;$IHCr7a?tLr0V(nBNPdCb^{L@rzh1`HeeU`03Xtz`yT@~+96V0uh{AvD`NaD! z`IzI#yM%+g&euuK%2}cg_jJ?+$v1A3ZY?l|)g~0zIiTz{z$l?N3M3(Gin_4lSb@dG zoIW&nza@3~*v`uxyIxuSum#_V=sWjpJ9g$e`#u2TYnuU9+H==QFaLK2?Jf@F(AXhM zSogwAwg+LRo>$14-77a@_ZK9;%U2Ow;**r7sMSLXfStDD zRRYw6CHuv<6kI(JQw!t|@ws58L7I?M*J!aPws4^VYJy3vnR*`rtFEzg*u9jEzptB$el``&A zdS6~u^MwzUbX*VI%9l3e*D0+~U8ruZVp$WEDlI|@5pEc*n9CK*MKzbx`AStT>pauT zmnwOQVkGI_Vp*k_FBAitVkGL`RavF@t|>ZR4;L!sJ2F*s`BL?EUKc@{!_q`CG$=-z zE)?W4R7;8*oY6rk)?__gp+zW*`BILNgEk2@t%!A&VnpiwW-Ti+lh;vq51C6d^4)b!;b*(yXL0=TZ=QcNJa+$l>*g2p_vf1n`(EHN0Rul^mmd-Icu&H9`st@9 zvG)ZMO*Hwf(4&#D7T>zL9r)tf{cFJRYmq240c~`m_2T^!pg};ty#2S^tvj93neONe zvK~cZ_m}q~GrN(Qolm|w-8uP6CvveHxwsd3b2sv4Cz9z#GHjNS=>4U=k(0Y4Cp#nQ z?noM#el2;b$#=z=7Mt9@fQ+sf)e=)XXS#{!P%r_+c6KlE+-~BzPU37gan|5Yo%s8B zcWMraq&7AQBSYVf$DrxAEZlrJ-5EX89X*3fKE*)uvKBhFmDvkT?S`gyW;&sCHOQq;b$QCxLkSlU6$b#7*=0Koa0)U}BurQLw%*3uN9wGcDa%xzqRf_pUBIxxKTXP>L%z#I+&j1s4z3 ztzdm-zUU65+G6Tx_OOC|$bx>*2IbN^4A+J&6CBJ}57;o(7N?G41H60|-UnX)@-WiPq~1igpqG!Rik&D9s`A0)iwm`Y<SY0x!~MG?41WsJy16BYXmUk!aaeNPPzmPv*godz+J^Yh#!mYA)|pcyc{;bY(9M{!2hVTN?j3=uRt-fDf}yuV;>!PJYp-k98JT-Y^ya&z%-D0 z-z_-8SLj(*es%tXN~J_uF~mKa@(A#pWE}GG98B?VBDOQr-ynvikX}J>6+s5U+X!wT zV6px?#P9`E^fJZuu|L=73SeIuX~2#rR6r2|+?ADE@ZuYeTMPC#mKsaq(&q8$@Dc6UP-9UWOg1hz&$am^JRLr%1&(daw)rSL9X_g!#u`gawav%i>F_Zv z`AlnNyZrF&haYv4bKT@z<4W_^*86RK4xSD_r;ViAJU$&hrGF}ePe_#uy9f7CAkL>f~zEiEs+nId=$TtPn{3p(u_WKfR4}uqY9~`1= z5aN7EIL%r>;C!*xFfw8X0f?qrced-upE?LYIE_3L06B@I34lx>X#yZ8kTe01PGvxj zf3Bc>{2%~PyfuSdSfd*-5q_{dQFMIgc@#0Z6TqlRSktE{bQ;V^G^91U&D`@OQxdHk zIL^5;H_4KT1zOrqPh!xqWQdvHfU~cc;d@n{b^b3*F(LF}s|S81&Kmy{8(DH3XL$+% z3*s_jSl?M-|17?2Wa>rw5%BP&seB3mzD77sBf$o{H4<*H`#bV{+x=){rtNihJlw;Uayyr_L-znv~Ornp)4! z$L`MTaAtPtzXk$c2A)6v{gw1D55xQe3FC2fk@sH!@)aX8B3oi|de7!qpdBU0nltBQ zk>@ONYp$G&WgN^+M&w>FqDx|nZey`xpMkw{GR#}})1MqKvUiz``=3Z=Gpy#HFIU%< zxqMkHNd##3?NWY2BFo+JwBx(P`#-X1nZ%$qImdlQa!Q=Yegb021(<_k$a5mL%H-T4 zm+PaWTvWyvVb}Ttquj_7`*L2%2NaK#gOMy_M33lsAC^Hd=%>k z%ug}CIAF{IUZBexwD9_oCk|Lw6bB`zI3xwcVX1$G7lSXj+>jW0!Q_U;Fu(1|8N!h4M+K_!-wIbipB6glg@~f+b@+!gCriJXn%F2o?DO%jlEm)#Z z3)*FsUza7Kxe9CfRY~KBw5(`OP^uYmv7l-*?%?r>Dm%&nryZCZ7kLpK@wIxM3EOd)favC7aP z7c6zwfV9uFQ%_x++$JNKnWcm+^IakrGfDeAnBy}N@-x%LC ztBt|I9&C3XwY_O(rFHBpAl{k`&}go`$rMezX=blE6p$lxP5+5~u+p$GRWwufx0~N)W)tK5CR+Fn~ns>MJ%A@ph zzFe*->4#EUTB|A>HShPAVZ?M%hMM7klEPuBsd;p6wY+*mF91GUZOJQ2e)+MSNon2( z`O>;{osbHFToy$E7MC=4bz>DPmRqip0@8Q&o)?5dxu6Jw#!-b_sgehkm8w)G7#5nd zP*w;YRRrG=!H^{AH7&4QDL;{jBIHZeM|q83l@tN12*JqEc%xcreGhs)VBk{t&Km0 zb{@S>wnsm1$1ZhZm)ZlDI|G*+oH~+ha9jR&p^+VK=iaXO4~yH2!0@QyD0E&m65qMB zT>{kiE}Yn2+7D0eg(sW8`Fg5->eF`kS|@yMKYVL1e5)PKcEVXYB^2FW*bklB3!Q3* zGM!L{E*DKf7kC#*ZkL;PUbF4U=}zP{E~}10*WnXtVr=&+4(;$!H8tKm+ew{6K^%zP z+1o<#I?!fFYp6H|m+W*IW0x7UrQEUo3{sRZ+_ zxOqkiW;Mi&$Gh;L?L85$KS(l~T6ffT1<8_1OXA^qf|s$xd`?KYDpDdbu6F(urPa%&W19 z#_ZODI(A~W2FQHJpKQ@~&<8Weu?f-B~Q4HXFK3 z-0Ay68-Cm3=8ryK^qi0<9=F;_gG?);f>yE%6N+(KaMF7A2bnqeS$eL+r8e_Mtbe&3O++44qw*q zTKwoSZNQt)5qEgNhDCadu7!In(Aht+>wntflgHFgPtsl=xIsUZ1bcStyz6$&wH6;c zj%G+w45uSI#}v5-A0bCl1etR<(;uw*v?>yGUbm>z zHEiYFho4y=40?;;4y+(!&Oi}}Pr!*f(14$A)fBLgV--5tunO0(S>*xcA4&t0eGg}J zEsBofJ)i+U{Vg5CMd)+G7`(LEjB$h3BRQe-er7R4zuh#v4KFn#n@MYMuf=OK+-tpp zuvQV*ONjdg;mh@WsVi~H3eg4xf!@FKc)OGZflR`}^f1$tWemyF2yo9D_pnka5n4d- z{SyuW-iPV6mrNk`Lj-v4ksl$LMQ{VbJc3&Y77^gPC3g|rM}RvbKS%Hj0B`h!qbEOc zBNqW4aqhag->T}QM)ZuW8!`9})>fmsFULA_pZ!|8pxHz;n z7gxQ5ThlEr3a!mW)kvbg&`?@j0$Q6(sH10gR(8v;@4Wu9J$k+~dcHo_c(C-5g0UAXW9^7Rbu z{#K%0EB7nf_kwer3+^K(@UyN_xD6V>&AJjhL1ZL)0f@$Tp6qTSf4mofZ~}Q<0OS~w zT>xYX$u0mgj${`AX;lVf?4^wIST6uka%U2`$zA}W6U~p1d!iSBXbcR0hJ344ltgVi zkzMM8Bl=*3&eID6MoPv*PGHnv{A!8rXUp{UGJIW0)7Jk^5{zRlXpF!Qn`!;Om3nZe zag}idGzuRghDQO7%?hEx9DW9sZwMt+sFEUw$$s)3tQyjZv`|cR&3 zsHj^i9a8)>ri7P+boiNA9HJx7NHIo775}o2#sL|Ix=S*k2|!0^68eqO6wo+51vEj^ zK$A2BG)2c033_Is=P5ew)(2<~&@}Z}0q6vv89E6Yk~c#O4W(M0DKTme%T8UEYo%4i zJmp5HqAsy=Lo3&7X3X8tsH=C)gd3r(w6apJtuS0)bJX2bUtU%f%}l$ovdam~;GN}V zWl8f|qpdd-Gf-YFtth6*u-OkedD~JN{7LbHHCYZ3{$m$*ws5U2)L19Zw!%8^kL|Ae!SWgd9bUHgYr!EcG{m z^^Wv%PsI&kgUBI!)P_jKjLi^e;c<_E$L@&TrR~J4jbI6y1IIPD9hZ0aeGbek2LO$Z z>TTC-ozCRg*de=(20>EH<}}xuR)%eq4$uK_5W^T}{Wko-joN*|mZLQy6-SR8 zcX~jedsZ&tw7BPyv{83?Y#u4Q74$l~Do47Ae9G=Y34~#2-XzUQ48ogv?&Kerw8#0S zQmt0k@}DbtWwoKLH^Xl&L61un6#`Ji_-uwOq)}VBYlT|G6{Ll<8Gcl%t|@mIt22ld zN@b9zn8C*S3PyKOZLl)(3sxz~a=BL4WZ4ug9o2e?nqs}7)EKTFLuX;QD`s@5UVEZ2 zO)ga%k4vVsqG&RPCBxk@B|HAjfkyz=*;O-W#XUnGGJ{J>O;Z?yqX;_VShd_#%xImJ zA#0SX7CYjw5b9-2JB5HLs!Da4;Vv`WT!w3EinOGaRCJO&K0n@{xw-hMsxWm?)fDB) z;%!C!LaR3xKdM#BHAQ|nb8m5`S_T`Szzm`;-h=g6#PwGfog8?nvCeWJvpISM*(-!< z)j>!Lo1`0wf6e}M>wpNMIpK9Yw;!M0i%)mX-Phx@Mtrt2IQxS%v=ud^@qOv+o^-ZN zb?Jg3UFb*`eu%}l*8h^&dHiBrpLj>lTsJb;_1Fy~cB3VBlj)YY74D|ScCK$%p&EIe z%x*94C#Uz4)9v4VcR@e*zMi~gBya5}AM7O`=*f8_InReA(%WNq0)u&$=iY6oK<*`ND33qh_+i%|Y8)wT zo~!%Ect<=HcouZBF^qTDo!l%tc?6>le=mjkLePwW3*NSmEbgI*d{|#om5=MH<@@N^ zY#K^t(p--PUY3bGmhVYpy$aX158ISz~a#!@q+87{Q0JH@Q-# zXltzIS$kYTzV>K2u6+ec>scV|EvOX)9?>raJ|Ptc^d>O?)1Su#GjcSG9)y!T#8U;P z0q*;gQ|}<=MNB< zC)A7!*{|6Q!4iDL?{CexN52LB%&YxrM;bq&c7EFQ`#})2LpZu4%R+wc)!XbynUm;+ zaKN+r*sL)a9>V>zFBlNIh5d2bTpv3FwIz4Ha`GQuCLjj!t_C&h!TiJHko^LHURvQY zJP9R&H{9O-y0_g0e*oiEykUXskDZ1b9&5pC*>o1*lh}kZZJSVr$EFY{Kkf()cpLlo z>`71HxzmD|+jA0AP@HWFp8OtDf}pj}D=g%m%LwZ%ZG~H5Zp3_H%!JDhUZLQ!6PD%G zI$f(`eNdLaTq{+3Eq+yF@TZQ~#y~K80|`c&DSlqBR~e5N5kc-lcuC@S zA%25k*O0w|1bvmgj|9V*{R+t)Bxo+1Me=JTcu>6TxfP~d7PJXon$*8RvfgyP-N?}9 z+~(XL=encGj)Ee}cBHt15)5UyuB(r(9b*&?2;M2tnO1{_;Q}F3xsvC-JfzSke zx|lc+M*>%OuJ6K)2rA#r@Z#@PUi6b`F#yMyLk5LFb|(%usX(@$1ckuV&Xe5@#HacR zG@eGRM}VC~wnu=4Bi13njv?D4z`B(Id#3$1wx8)I&@>4qe1*7MK4+mZvy^qKxJHKZ05ahF_DOHvXg@k9I&DawLn&~g>aNuBXTbo(I@~q+g zu(ktD|4OZ~tvo2!#HvI}-O04ESf2liMYSZRz=}-4^BE&~B~E1Dhe@>Op*`P)3NY$L zn#dLUBpxsyVjf0v%n|*f|JVZx!k_sR0?u(*)kpaTp~q8hfkKGN3sSnT(r>MV8KEw1 zz(MP$s|K80#X-p{hNa+!UmSYD6$ZuO7fc~6j!51Oj~D^U5cD0Kff@zsuo#1RBVrt2 zL>vVe6%znsViI6nOi4Vp$kj>CcE4E`}GHWrISG{S<_ z6@*%GOETgPf+)!)Qf?^add(Pg&>MC6z7cT{L{i+`EY~&(n${S0jMO(aWJxhb9i+13 z^bP;LjSZ=!xb#qV8j|5FZxuHsgCjWV1&Ib}7A4L)0BF&H(ErZ=2%3Du z?0Q7@OM2WSr8uUw!M!d&qURXsukEo%jN;&3vHiMYQ`=S?xtQ%TZayrd*iOPQ7tx{& zUn~Pny-h&fE8W<0ZkOFTbNXM0H_TMJlwVH<~b zf~}qFJTG=`=P#!mIFY`~C(@2P=UDwqI@!EM9(Ffs%@Y|2zrdQoG{-Ue?&heIe^OMQ z=1Rp{t*+$0kaE&iL)mEt-zve3nTiat$I-|PIl_?!S~FnIY1B6F=MzToNwK;u-6Nz< zAXY?C0Dh9;Z|rPhT>Iq)DI@;KYtDG6oQ^Y;PPMy zp1Z+sN{S$to02h5CuNBEVwIu<&%p4Pq?#fTW7r;pur1T<(f0(xxK8dE{%%5`oM>zh zlbR=wehq_(1-IrgOjD|2El_P=uZUQ$Kb@GQk2oFa`^nPym)v0Gg%_?x~xdj zv-KrO{!*zo)<3RQ%QZ=Oytur+SS^E6&|vbA*O$Q*>u7p;-O772jUAE!md#d{C;auc zsPfYqKi%P{zYj-h$=MJjS4e8mN zEl%UpdS;^i6D@NakrW_Dh11OKlgw>3b4SbEF{u;R|D4n&W)aE0iH{xB+Mm8;)%Z;< z4m^NWG;y$c8ohB6y`e_)S~L&DfSw*dx{Do+PrQkx57tj(Qzx;h_OHL4R&V@VjV)-g zh11waC$W#z*qRnwgQ-D1H4aU<1@AeSgelo65)e$UH02&Z2U0H6hW7H~4iWM;1gp)Z zO;dF58uyClEKPoP5{C88zMYZWwcP{ zjPV9;>WMKeF@2htKS|81iTAX`d#x2cd9Agyzp9T<9yOt}qVP_s|FSSc7P24%wUNQc&DEh9T?% zT=zE}K1EgdzeO7{$E}aq%uGGxUEu9hWdHZxKp7E`dhdP?=-5G7S46}+|~3l z6I!npgXka^1y6I-sfJ_VPLCcF9e&~}dcc{Wk$bH{aG%YnOL*69sm2!v^V<%ey`o?= zW3ON%00#J&mTS!sr+Ab0Q{482@aG+V?25wa?b2&~KM037bcB>i_?cU5v%@E^A{OER z%bQDk#wd6U<)%9dkg|Z&=Mm8G80uakH=$Q}Z9vXxMd393?S%$tV znS`*Y?VhmX+#S>paS2uw;Q6U*Rwkx;5llH(QRxF%XQ@QfmNUNvK=>t3uxU%M)KVvr z1$72m@S3M`1>-C_G{O7cWgI_9b-RU0pjPaf#JoaV!B&v!u$E65P~2e21jS8I5Vq># zb`|^mg7DRLvDzK+$_jy>9RjVpiddz{fO@!y(Ta!G z4FnScnL}_F0saJ}K}_)62wIEWN3eq67YOi*cx5^ky-LalZho8#D^x)9`OovOrr*a8Bp59w+DIG2ipUS26?5)F%quR?)Uw)-#XSM9? z-hBGsr`>nS-ToOK&OCsl69WD-^%Ek3ScpsQX;ZwQj z88__99nKv=Aq1Uo7ishNDs6hf6z78r%m)3eFMSw+0?L=}1%B2yaro?L7wHqd00yri ztqTAhN3;t7h0E0jfTj@b0zjR@0G({VgX5FE0EWgvg|CtBgvd|cQ_$7c5vM0e)Z-IL1$@g}fwo!a}^S$@xy~+ET*^lvfi~#kx zHExCo`GrP{d=D6hIe<5W5k@tVLmAR&DU=IQ)Wcf1B;_Pumo&MgapB2p80bYGgN>o4*I8`y8*4g*sYbbM=v=oJWlV8Q*jE_V;a33Yi&kZu?126+ z*;0)XvI{F9N^Cko?oU(|IB~Mu@}jiPWU?Zso+naEXCYf=;dL-^F{uV~--Q(rlWpZK z%xpVshwN|-PVJtY{JWOd8Af1!k*vVu#otiS0YmK~99fT#n=f)YEHG=WtR0U@7lyYUMP~u)>o-bO47)?e5_8?S*C;|>obO3mAQD^+ACoSUq zG3ru4N7Lz>`8ksdGjCd)ujVJXxojEb{9Rou>iofMdNQBZif}6+3Q(h&pM;$GEVtlR zmouy23ASdeg0NEMiWkKI-xB8`5!PTn1K1>PSNCSdm7*`R&$C-M>QbU1B^)X7v+F{W zP`OG2d?mSR{D(UDT^-zJAFjV2`#ikYx8M6^pgx+}x9Y=Fjo~RL%bkUXhygE|&dPdy zXrnQ-QCIDTYCAqR!>50H2qlnYhv)|3^&B^o!dg@QLl*eTy#6+ae;X;pVB)=P-rzn2 zz9Da*<;mzvFt^m%4?rjwA!$X^@+b0%h)5t&+i3G(IMVz{FQ-z5{^DDRoJF z)Bm~TveV8kx$3mDORhNW?2>CvJ2zu8t zZy@wr4bBP1nojS6Iz$vv9H9DG<2r`15f~k_ZelfO2Bc%vEwITxs^_T1>|KNA_DS8L zcn7)mi3(P8v9z8>JfL9Y9tM7o@dj2a6C$8Z_|KDKYBVAECrrr)^EK|Hj}ymf)yJP9 z%D0P1sw7Bi)ua_f%~mLLvCie*I#E8{`G19LN{j8WFp*AIFdq6HCJAMYHguc_7E;%c z`J@qV1})`e$9^w}d@9s+S1M=Qo436uuupg*VQkOaVxpZyvG*VhS|NM(c(dw_cY^YT zV8W|H2Cv4F7ZGpYQ;CJQt$Mx|_oSsQUV_-F+uEDj`}Je8I3kO~b3TQwNZK7Hgx_RSpizL)pxFT95cL76*Oj*>YP8iF;>F|w z9ta@ySHO^(%!$NLx zq(Iwis_UDZw0cdodQCqcuFfQ{PA!a|6IV}2cO0(0)kt(5Uy+Wi>pXKdIuY##><(WB zS9JgpfyhjZaf&Vv^p~Q-Kz}J(8BTMGR)^D^IW}I((1n;MIDfPPSBmrh6uO{4Gno6j literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Game/NetworkEvents/__pycache__/PlaceCard.cpython-311.pyc b/New_Client/Classes/Game/NetworkEvents/__pycache__/PlaceCard.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4bea892b0fe7209f6baf7e06d1b4fc27a1ef6d7a GIT binary patch literal 1944 zcma)6O>7%Q6rR~X@A|LlFBMKpXaLC)BoZwkp$Z9-5PGPSC@EB_LuGlUAL6j~$S1pD6uSVaU8?4oJOH5V^v(;Ajocl8Bh+5l`kK+`5M zsYWbnkrYi48$O4kyLQVZNmJuamSi3n)6NmiY?o%POOkeZk_Wpq!IP+X;veafEcX z*R6F|?ym-T{XhCfOP^>znfJ9iT7&W&9d&ITV%%)UDN6$B(M!S!+)9;JD~uFPVbU7) zLSaZz7~xVt1^!&%rJ^OwSsGp&7Aas;a@_(j?sF#lf@OdRgHw+bb>W27V91>VM@$w} zq=L$l>sJVuXY1?hI~X5&w|s+B#>+gUv{oLbd_MGp@|fq&dGz+w&}jM49$1BQ%FCmb z1zIlAaM5S;BQiu@9+zPcL7W4@l5pA*I}Mx2Lh>0P%P7gClf7}znbq{;^rP&Ptc2Oe z*+=;&`8ap-hg;v>`gZ2w%){GVLXxpgSP25MJeu?%GyiqztJ2ClyGCKpC`7Hf4;vt1 zLQF1ECuNRW@E1MGgdX@@Wam12O@`GP602T|0j#3BM)16qgzI>+4Ya&364U@;(GFMu(SnwL9HB*GoTmF+02*+l9~b;vDvuRT7!&z6WJyvQ%H> z-iLCAd{7E}@Bj}AXELC!D`jC%u}UBj^iU5EDvMr+smQC9XWBU>w@oZ|7EbxB4D6f~ zUy$TH5H9l#y$6Gx0w~gQBh@v8y$lOdlRpKrjN(-0oBNGaZ-Q(y7u&f%?28TiV)WA6 z8zGRxxvg)Pci!5yC-&@#$exJpZ0zJ#3JnLW%%)Xu!|shPT-lfcayYlD+gEqa?%HE} z_E=<(HLYH3IE4ghO{+q~E=0YTH->>6&aKJq*LTcayR>JQBD*B5410N)oss9Te3!sA z6qZL9fmc(o*c!6_s>kHv<--g&9+#e?V(QprT>>rEFNw;S^rRBjN||%ruTdiN#$JQ} zq$Zb2kg;|=#f-3mrCGSH;#BkU4#>+ppk7}lqY;JHA0yr@-1mXb_n66kR(DwFbMO-B zJY*vEF|CF^ds7uk?af}5YBB+;ng{mP1)tn=>3i%ASd-`Ge*#H#jB$)|%jy@SSEBA2 zqbpJOOsqVH61K^uGW^>56Ui jE4DSM*l*{4zo 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/Classes/Game/__pycache__/Player.cpython-311.pyc b/New_Client/Classes/Game/__pycache__/Player.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ab1a2f63875ad21665cf9264fcfe3aa7fcf7459b GIT binary patch literal 2756 zcmcIl&1)M+6rcT)SJtP$6o16EV!5QEq3xj*8caX1sU1VzK%9#aEQ@BG$dy;>%sOD# z2L)X4A%_+M@gWBtN*a^?F>(;p?6tl0rr@4(>U*;vT`6uMhK{87e($~6d7rcTC6gH@ zuzn~$Wq)Xd{EkAn^Z=Z{2jB^zgerBiNmQ~zsCr1K_Dm(@1^oQAsZiw(DeHftxLysk zk|hG+d|JVi7=gWHQ@u-=#&oJIf>|OpLYhPdSapdK+e6`j+h&NsYM_-Sm_~=-XEI|e zL6e92W|9swZA+yoz{4~xaRzV-umSok;B=tR0nP+C4>&8&!)J6l0&)&)7y5^DM!}x{ z5BnI{N9Z`j_HSqCbOQE_(gM`(ikG-uxAz$LQkD-at43qO{ic_REIYPi$3(~8VcuwD zy>B~o$>vmeDmhJD2{V)vl$Y|3>D~7%m8VTv+=@_{wR4? zmklJVP+| z*7ANj2un)1Q)GZdF&!n3l6(~RCpdF=xl@fw3`)eZA$TH0LbieXD~N(mfC!<;lW}|K z{a&AUDWRKlEDLzgjXm1yn3K}=Te>VOvbTH+P7*PfL*Qf`y0f1RQVwK{Fy{9AjyZi9 zw~(Y9u0gj3xLLg&)mciD;F4qSFXIUElLI{H2=n_IZdp7(l%=0{B4-y)(gK+K`*)!1 zgD!r-qRHY#u!M6Z$2dM$rcJkZ1*RNMe5k+}1kNE&*W}|{ZS|*hocn0T-oDXEIPJnl zufhu@UI>)0p?|#Oa=yB`xsEyKHy~aUoM$=H%K-Xo(#C0eV;v~ZK>s4LDHq)XC>O@+ zX*Q)n={&uPZ@hTzl3!A~(U7s{gCUJH*dj3x1fn<7U32m`^Xg0U>hZ>@Io~zsJLWuG znpjev)@+Er_s0L58N45M8V^`F7dJ56cy3wW{uOWR$OI>X1pC$a?>&&^+)Hz=t(}?+ zU2~yhF7#))ULM1DEdEtkmN#r!I}N&9N1V2-?{@8aV9{!h>*XxVcASQ5yS0WRV2>tT z?j@Rg_uz3aA)37AGS67yjol_6fk=1($uyE#Bsf95gydZ$*O9!B==pR;7Twc1*JxcU!BWm{{lwTEkG5y%%FXS(@PN5}7}Uh3(ZF>_q%5n$~l z$(~mw8zjSuapgzRBfthpLNTU%(-fNG1WYr>W2l`OB$s}wgz+jysqHg~V+77E9v7a@ zcBgKjwm3)1X~|Ddzpg+$Z<1H2`|ARO^zb($qbkAx literal 0 HcmV?d00001 diff --git a/New_Client/Classes/Game/__pycache__/World.cpython-311.pyc b/New_Client/Classes/Game/__pycache__/World.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d4f207bdcc06606915adfcc61347d64d7ea7d3cc GIT binary patch literal 11690 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 GpZ^8dy^Z?- literal 0 HcmV?d00001 diff --git a/New_Client/__pycache__/App.cpython-311.pyc b/New_Client/__pycache__/App.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b4f4b15d393d8a47ca4e1b44f367bc88b8e1c957 GIT binary patch literal 4698 zcmb7IO>7&-6`mz`DN-EjhmvJlmMl85Vv|-C|0i`+|4~2vv814~8-x+SvfP!t@@mQK zuB=#43>ol21$6MuF6sh26s`k1fR8@pP@pN`<1VqNhy?@~C{VyR1#W@Br@l8!E`Q_z z%Ixs%n>X*x-+S}TEdLgXv=T@Qzxzf?1NUz%R1;re-mC%hfQUro6q3fbPvMq)X&;BY zU-2*TX`b=CA}j^c0mchT%Th2MWPCsgEw!dw8Q-FWmuQ+YKBz>N+R|+t@sUX)hVBuu z^|6nTr|@%Ax?SXENh16ji_;0tiH@ravMP<=l2qfDSyfad4W#r}YGJvq9JrcaSYS1w zYpG9CiVWJI7WhkLa(owPN9!YnJ-9Wp=eXyYW9slJ* z!HHymW-{8cs>ip;g6y~+pL?Gm~2{G_CB1-ewWyOdavY|+hup*1b4JU9zk{50m zj=-cj(DqUQI6wT}d<*6e$QrjsGG65xS@ifK=dpE+$UO%6Q?HIAMqTTR*fL9v{sgV+ zR)N|@k1u-q6|6_8wY56k!p0+ zY1gd`tdgfw^y0IoOGxAFca0}p)in-Oxn>&}N2FR8B75+Qu*)y~ReOm0fY<_Uc>MzJ zwf-2q@znDO^y{sWak$n3Sa|a0o11Cl+>Io>8p`ceo4;7 zXS1pvpPGGr2!@jIYrXK&4kGCTvf73F2~B0y$j5a_yCrF>p_8XR9615cNk=$)=Jcsk ztNrs?S&_sz=zxK&#>Hg`3zDYgwfO2$*D#*TtE!YUC`n@%fwFj~rV>a#Erk(eX*wObaI%v~DvzmX{ZjbE{f2gxYK+}w# zeSR1SWQ(4&={b|0W8#l3I%?BVla9g&HpZ&Y50G|RpcQ!QxQPGgzT7@GM7|qp9Y5&* z?t{bQJ^p|82*Bq&3!hb2l}dr3=S+t^s1p zisFPsExW?5$_$j9Ab@l#tBJZ3ST2ZJLvkoc@E-0;+fjcOP}z_swfu5H+lOt1Z?KCx zyR&O}>N*0u_c?wrc3MPPFDTjDUvt_qsMB%t#MRX&p8Iy31T+QbTtDOkJ4Wbb= zm;?*J;RF4EfNihZqMPdXq&sxv6+qwBE!tnA{SU=Qixy4TG-1*N%BQyIV2KV|bjYSd zTQpgs$tNFr=(rOgkGEqcW4%>9tq{9ffP(M_n zLl!-1)1zB-q(nz7dcvkBOnSm=J5izu0P^9jALCw0BjOX=j-94&cgd!1D&ylQcjt1`dPX^T0Giui?QcTzfsJZ47t(&Vw-Y zO;11=vY=xTz<;qU8`?+EXuZQjc{Qa-S#`Ov8bN1!#b2Xh3(h6q%N^16@r}VsfkyE_$EddG00e-^W48E#GC2Bk zlaE2R_!yMdXVz!#&Xj5A`qcW=-KlbS+~hG^e7xM*Yx0;azPH@{zR6>@`1i}6RE@N0JAGfgR$Jk9%-*@+2749RD^r>c-&(Z3Ze3@bs5JcKjU2l}Tis zJ!NvPVf literal 0 HcmV?d00001 diff --git a/New_Client/log/aruudvef.log b/New_Client/log/aruudvef.log new file mode 100644 index 0000000..6d420c6 --- /dev/null +++ b/New_Client/log/aruudvef.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..3e6a943 --- /dev/null +++ b/New_Client/log/azkihdia.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..507a8b3 --- /dev/null +++ b/New_Client/log/cssmtaso.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..9c3683e --- /dev/null +++ b/New_Client/log/dypjnvwx.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..3f8fd1c --- /dev/null +++ b/New_Client/log/ecnwzwpv.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..a669868 --- /dev/null +++ b/New_Client/log/ezuxqfek.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..3890461 --- /dev/null +++ b/New_Client/log/hpyfylsj.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..abcb170 --- /dev/null +++ b/New_Client/log/jqqeltiy.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..5e1a630 --- /dev/null +++ b/New_Client/log/mhtlvsqm.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..85b8c96 --- /dev/null +++ b/New_Client/log/pbwegfvw.log @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..150872d --- /dev/null +++ b/New_Client/log/qqebhbex.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..17f202d --- /dev/null +++ b/New_Client/log/rnwforll.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..8877eee --- /dev/null +++ b/New_Client/log/rrffvbhc.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..df03f86 --- /dev/null +++ b/New_Client/log/snqncicq.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..3142c48 --- /dev/null +++ b/New_Client/log/sstwdlli.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..52e5aed --- /dev/null +++ b/New_Client/log/vzybrxrc.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..825538c --- /dev/null +++ b/New_Client/log/wqfhotaq.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..9822c82 --- /dev/null +++ b/New_Client/log/xqetosuq.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..76c0ab5 --- /dev/null +++ b/New_Client/log/xwrmortx.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..3a73195 --- /dev/null +++ b/New_Client/log/xxfpqmla.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..a45e4ca --- /dev/null +++ b/New_Client/log/ysnrngup.log @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..0086ccb --- /dev/null +++ b/New_Client/log/zlnfjkpf.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..4ead003 --- /dev/null +++ b/New_Client/log/zoukqhzj.log @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..11d7f19 --- /dev/null +++ b/New_Client/log/zpvgppfk.log @@ -0,0 +1,5 @@ +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/Game Client/main.py b/New_Client/main.py similarity index 59% rename from Game Client/main.py rename to New_Client/main.py index e4e3cba..ec7ad0e 100644 --- a/Game Client/main.py +++ b/New_Client/main.py @@ -1,9 +1,11 @@ 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("log/"+StringUtils.get_random_string(8)+".log") + + 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 new file mode 100644 index 0000000..56fba80 --- /dev/null +++ b/OLD_Server/.env @@ -0,0 +1,4 @@ +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 new file mode 100644 index 0000000..1341321 --- /dev/null +++ b/OLD_Server/.vscode/settings.json @@ -0,0 +1,14 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..ba5da22ccc75f0be2ff44b31e702347d8e45ddc5 GIT binary patch literal 10988 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 literal 0 HcmV?d00001 diff --git a/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json b/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json new file mode 100644 index 0000000..0df2ece --- /dev/null +++ b/OLD_Server/Assets/Cards/MonsterCards/testmonstercard/card.json @@ -0,0 +1,22 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..320d60d34af39518b06c3adcf397345b883d202c GIT binary patch literal 9570 zcmeI2Ra9I}+oqG31QG}k$ctO>1P!hoAZVk(-GT*a+#BdOAwUT3!Gn{=8w-sE2sG~Q z+CW3&G&I)3_x&?#zB!n+{*yVIqrDGmRqfhU_1yRMJQev~Q<<2Mmhi!Y2gE=X1)cln z)q@8QEuP@tzm-$|pt(}R)Iv?zm}}iBE+DR6Kx_2S#X7uhK4Hg zpo&M~UsT=w3l-Qn)LhzyfwY3})~`s(WgsDl_>e^hc7@NKEbM|m)Ba#IlKwDvvA+d< zy~JYc!EYr1);$ZLvn!OU#MzRn1dLhNNj0jqQdn5h;3`+le0(_fwOpQcg|mRR*yMEi zmu?P~b|97N{A3jSE1t!&8Sw=rH{H?W3UB|V8Q8@@Tu~cb6+k)Z@I%4QjNRHsh>Z>O z{Sg~m6vXI@u)e;EymjRy!y>c3X?w~yH<_fXEWC!9FN(bqwUsG%NhLnLjg;Dk8$8?z zc&uz&-z*ZvdA0LLA`?d~^2n*lUJ|Fo=y<`D`hC-Ya>&;b$8*4+;_v4YQ`~{=XHLLu z&jdudx5}vVfSTQaR26WoqZNfailkEO1f8-6?F*B+bJg8(ke>9(tK zC;!V|j)_;A2F>qC5+*8B?+#s3s>i5Qe1Li7;By*%Qf)u`Vbu>xr0LkMXx}jU(J5t# zSEO6{H`BJ=Wj|*0^?Sn=`BlvAniSMq&8}Kn%>G&@Uzl)h{{6*vxA{md^1Gm#6L-HJ z;9Nh2K}R&9D!q2x*%xMZ*{$~!_-r@c;71lwsz!oEZK6I_39x)be}=U03xp(GVV*Du z0CjS(vNxZlir4Vl21_1vXI*=SW!IOcjK>Gm0m?@gjZ+aQfs#| zrg0tg0&8(>ZED~y7{y7PLJSjM-4Jr6AmE*-V9k-Fsn*1c3AXXVzwRa zH5mHU>p_ERL(Yac^6)1AbIEqTkvgu=6bZ>?9zW{ha)e@n-l_M>E--d~Yk5%t&F!7x zB6Km1WZ1g8@lpwvcD$m-8uyz(0d~t$duN7Y|GWiWL7nMs)d?3&$0$ z$~|t>RIrii_suHqc+|!e3I`t#Y^>_a6V*n)@|K7hAkq?^oagFz%5z|a4)X5E=IX`w zUcuW)+Q%89msyypR$g|rUV(3mZ@UUy(4{|*uS68G^YVI9Q+^m-T*C&dkv+uK$hIR( zT`ln4pOd6 zVoOblqMzt3dEzw;wNtmeBWd$83RKsumI<*v)=obf7w@ASk-G>Vs03Smt&kcuI=FM9 zR`TzPi1oS(y3JuKd@ZB=p?KI;zbgak!nsEfZUPP`(*{3oFk}DO_9vKXfyO11fb?mi zZYBifYXgcs@E^x6-@2Dq&Kmq{0nP9MJfap$Vw><4vQ?7dIJf>e&b%ahD1#>jouTUL zEDg#{3l+yySI^4PHgx_1`&VVr1AU1pP$jSMS_#uPYfz4_4RoeTq+u&&P;x_X=a($Q zq^;X26xL-(DvkCJ=x*>y^ga!B(gIJlTWZJUMaA*8h&hqY`l1vu-gg^;`IVi$sz3u^ zndz5oSD$MXyQ_EBBgOfK`eR7k)2BLhL(`cgu^#Pcw@K%^E}FE3onyz)DgIt)V-TxA z8g9|f@eip|#1aWI)&^!G7!J3rQwKjLF1Wc+T4Z zsI?t00X!EBcua@D-#TM@Mzk~&`I z70{VQlKjekBPA^!iPswE8m=R;UW+u_AJ1N}P7RrslKwmHRD#uW^&EL5*eTL;FTE+# zs_q(vQ_@t-aG%I?MgFuX{jZ8H(CBq^ zZa(JK^!^-6(ZJnqQbQVFfV@*}BhcTB6i5S@O5Ty(2YsYv-JCDt9Z41`yKQIq754YNU>|0)vL# z)=2<#64Z{>hAw!N4$-}WEXX&o>XuTSH*Xw^`MhT3R5>{k7&kItLol^!W;j849L4(q z0+5_}(L)i>7HC?j)Gi<}v0v5PI=eixQI58Zme&!`uZZ11n$zcE-l0@z# zu!%^C_C~G@r6A$40GwIaO@ecg{kD?+Na@~i%L9OR+V(bQ0dlD_buFK`8y2#x+f$_XoX)T8Oo6o#>E5uqzl8sGMVb$SKoa>K^7)p_oy_gT@l|#qSNGEqM_#jw?PCM}f(q zC-3?C-82lU8~5U3NsBE#QzjxqS@R1=zW3>5cqwpsk^r&aE{X#8XrHPcaLTpnv@+Rx zoO1OApOCx`yf$`(R>uEfX0<)xXY>SD@@e~h7*?GdGn2q{cu{uO4)H=KRQBRrG)28{{&RaLj_z;GT1RpE=60#Q5m|QZA7sDK zM)4kZK8j?d;ljEVQ9q z&rmhkCxw^Wn#^g(-P9l)XogxfaOgH3T?h`N(N?CoVY~Osa5C+gfp2d7?=%#$KmVs^ zXMhO}XHyU{R$H>>NNO3O*nqfORmXBNM`ZP>d2IWn+F?H_k8|plT-9s-^Cd;@-lCqX zKt~KwqP>i^7|MjUdtR;Hc-e=PaLs2fQu^4fveui?gYF&%o=GO)Q~yu*Z#5bz{QJiX z$AA8FoI0LgX^+rgc!`cJFt4ZY-BzdP$;n1I5wxTA9VRF11q-^ z4PN^H>-jIL{cr7StANqWo6k-3WC8CjO>K602_J5fzEk^0UxfO&;-ualTVe!T@qXtvdT>s ziHL}*1RQw$E2j3X)S8R7w!SY0oE3giQ1tV!Zhu$$CC-}VhGrZwYcOp zC;u}3y1Qh_v5av}A+vp)Uh}y~Ze$^)=wO1sNe2}7d@Maa=1i^1Aa48MGVl6vD|9Cr zj>u@??pn{W@ z+{Tzr(so&VLi==yX7ELeq0nU5g$)wjvd3doD}T?O?7Y==OfjJ6j=TBZ6pG5E(8qZr zy~l}Zt!k*UGB%E;I0bfgwPDN)=fRZ}ZH z-bw*^#UOyX--m63pA|ff1oXHxB(f9^{YF&eaP{Q;vg5E_`+OZYn;e1>RMn(UX=#-j z{;piw*w$c@@+lxu+r64K+f>dxk;mBtmKK*^i*+UFVa zB>s#O8{wGrJ;2e@4C=5PcLD#KeioFQ<{yU)6ku4!E9RC6QQ#sX+Ml2qoz7O1N#4=| zlpn;5{Ql1W3NKf?;|`#?U3;7^{_gsH&PLGmr)j$3EoGS9P*hymV>0JAwZQ|FWseD+ zWAEqEyKpi%!Cc)&Nlw9P*MyidA$P_!$S#oCCVQYp+k{k&j{j8I_3k%~zu&l`GW9<^ zXD^WqV*H_wz?S1x_CgXo?sW|Fz~S^{*;#ob&e5{mv!Hvsp?uIEwBGfAL3!l zH!`RjFpNq`t(1hH^c4T2%@3~&A1yT!S?cg9V;7h1L|-dnccvv>%RXpi*MgF+=!in9 z)(WPEW)bV(nghvf%PY#%qS$#jhAsG)<*VkrvVALt@{_=2CjtPZkVTwnuJ((`4W+8S zSxQ8(o(})q>G?KFWVnB%Z@v^+)tHNz`$LLAGpvl>Xs< zI`OS)qAkby_ggHr7~gjz@`14|M|{lZU@1L=cpC0UCK3qw{CvC4iuS}9w>GxNV82p2 zvh3Hdq~CEY2IlswHxfzyDIrO8Bn7-CXfx($lBz9)7sfC7vydI1UKlQH0wQ7)<%Ias zMt6(`?4!2i2wFa^87>yODr|z^J`L0`jx;IQM$dChu`AxEJ?6XewyS^n*NZZVgBpsQ zy^a+}qe$!qdKxWKub`@B_tOxqhLuUD@Dt3G$J>}r_x&-2@ZK{XuX9_G93mrVVu47% z*TGy`pYrCwl}5n($CpP0rpCP5X@;hToH7UV{BeNmjG!9NivGU32uc+dy=Zog#2-yz#=X!)DU1S85r4EJb}ez|() zG|p-MIt0*@;|tzTH=Ng>fyWp_vlI`5_RpOg4i_EVy4JPYPv9+dkmIj`l`tsW9Ml6= zk{}@6uDh!Lh&TV$H*-6COmy)`+9&warv@gNQ9wwf7D<)FeDj(vMPhG=?pAo2Lw_^w zHY=ErC#(5_0fv*gy?HA5vOezq@c0;GwZMnhg=fiX4(i%*xL@3+fCisyMheXhiAMA+ z#3=mPKDUq%$3V?S69!?PBIYkEV|=^B(Z~NvXQcIF%+m+bC6WeI@SmlzB<$I!oImLO z-g5(=?rdp6I#BhsNHKyIBIF&4`0CegwxB+OJ{UBY**H1u(?->M=N2&JI{Id20&Th{ z_3k^_i2&k)$l-e`-Vj00b+0yAu*;2g| z&GTh`iuR_FD`(r>V*TZ?TUz8z!2p zl9@P6h}Zhcr<#TIJ$6FFQO&$g8rjLzhYiwadE-rx_(up8H<{0fBrnE-M9r zB(Z3dX6rII&UTI~V5cU{77Y`dyvF?5dAM{DMYna?7jzyLCiV;DFcCAZOWx0)!ZW{N zN5|Pav{r;}+Gwb_K6PxW^7O*YIgnq+R(Q(I)C{UkeJFn-X zIFm@TFRf>R@5e5AZM;wR=*qYZ<2-1r8X9X=Hacv9e9G9(vD&6X30lZ__dcj+`YmpY ztd!oL!lxH`Lt@SQ9TK-M*a|?{v&I0*LUm&iFw5r(j4NXZJA5!w!EPr);QChK; z;P>3@tTGjH@xOmuRY4iT|19`m8_{fAFJ~7FH_DUWOC^tDn6ze@ba~ zegTXALvhJR;#7aNDsJ46I_`GbR6uU^vuh)#*!_CQd^oqY7z;kfXt3j9^1g%S8q@&O z?QW_iEw!4K1slS8-ahV!Xzy7}(+<>fHurk33|Du!>aNeo*yTO^Lt5HxN|QX_gIoS+F}^xkjjY#^lc^>)xiX6uyXeuxw5 zjLOzSKBpU;Xsx~U>XS&XdiPmS6twhOE!9Dim-L+4A;!82UYl*cH@!N5NBB+R1+n5K5%zPxwqlJ;_EhCfEIA-tdJ{A$= z;lkttQmU>cWz@e=I$~w*WM}3x;EfV5dm**rZonRktUGUf2HH9Wot5^w*DG~p?0xQA zHZO03oeWw=GPCW_u02ZnzVoWS*c;F^SwY2P1L`ofariI`@si0{t(izETN7D9d!B0Bf4 z!~=t&ez+1zm#CCyu2%H+r$w4FE#Z%sch-NICi$Fs+wTZ$Zc#}F6US;OD=XIRefhh9 z`@pC{o4*aa;OWbh4Jd!xGQA64s`&?88}Ik8_DW4xI!71+!Gm913+Al~43UVj|Kh>l z<3FzJ&7Q+*66D{IHI0v2(a|l9bP|=C(4JL`FBpx;91J(WX!Bh`-~qdV=oX`n@gJOx z(Q$W|wN+|fr!-O*k#!Mf(s%pLC0j)cj~Q%KABQRSIt&PHCGH)hqNQr*VmO`VvJ@HZ zEw0tDH)SGDv$mVvT&au}UB5l3PXi`QiR|o<_%taV02vz=0wWsDOKk8Gcy{y4!`;N= z)m%34luqADtHyni@V=*eRKf!9Q7PEPJ37ggJvZx3sF=V>hN(BsB~p?&?mubkU&YP; zWu%Nk{44%VUKShy&9#%VhX%0^H6|HW5!~Wc3?(h=F5=u;$pS{SXZiATu;YrfqBiJw z)X&JXe^Si#tv}J5)xPr#G2%};@R$8?O;UZYE<`cM<*MjiFai`yTg(i#tsE1f!oJ zBfi%g(x?Rk>gtDE)S+s1_^6&C>cknV=whdws^w>0>e&warFqZ;XufW0LkFy_uEr1W z=FMsyBKL9$fUFf_Y%+JZ=FDE-hC{AH$A&kVWlp{x*97lM`P|=hiCZ_=f6v8QNJWj zJbhPN*?1mbXjl6LBxGgbi}bgg^zm*I+IarlhVDfN;z=?!;+e6u#=8d(9y9#wE`T%N zDTWh%_r%te_tq(fmg}i?Pg?IV;CjIs*!t)Ud8)LX1B{zGkmL^Rm7m9#x?yAE;AM9IE6X8&yU^7|#Z+|dHz zMsuEY9TD1jXx4KP=ZHdT-!_dTE{dHrO2a;qZ2|o zh+-3mXo%a~N9b~Np{jR-tbfgGyXBuwF7|8BPryvPhRVs+?~I%GiPHs-OPqiCZK^=m zKM3pJsi*W3xIfyxDw8}6!pG0<{jlJ>uYdhdu_o<=V=Y`aG?u|__6}2LjuL0^{YVYj zSf1@zgG$o}cCPUoz5!S`bjQlNT+o38NxEo`{7p4K6&=`NXPl?zrMU!KCg#x-FYK#z zo%he^HX*nh6Pl3Wm-Rx=IHPZJ8*#i^!|lp%uWp=07&Q3=eCr-+N(*Q;I__yo+}Gfr zF^+1b@{A;Ru9H)+c?G!f-6Zkc9QxUHeqY1LYt9BBjYL<^^s>gky)d-0@3EzcpEqUj zG<}0()E}0yxGT8*F5D)LT)wNmqGMW}CpPxPvQw1?9xsnJP^7O6P#w0jG%j8IauVXf z3hD;evMzpf06I3^et9_w8l*yCv@bAsoR&YgYJ{-fF&4(g6~jthG_FS9a|0X`2*V!c z{i!H#S+ARs$aKBeWt6(m;syk95}P|{7*|kvCim0HtxX`CX8PA`NN3vPAHlC)Y%TgM zm|?pns!Ef5>9wRgynj(pr2T}|Y%@riJg7o=U4HHyA+v;d)s!z)>m$va!1UlbGS476 zD_$lBik}wFgH)1I-yswKWV>DR;<0g_A7QUg9YjfjVZnuNOiQqr-r(!K}5zMWV|%GWJ|h)*%KlE?I#@lJbjsq+Q8q*Zy` zxoMWAcfJ=$sX$5P9*?2kukI9YLqQ;1*v&0=rT*%cE*b{rV9y%kev`8oO_~EIv81=y zn`ElD>bS6HKHS-*Zwe%an<6)|L2H$OXX02w(kin5ooOHV92+$$FE7uU#>ztFW z;_l(}0bec8&YDMqP1u6(K`oRp-}Nv8)C>xUY{bmM?c@$678@F`Y8)(*kVv7}RWiq_ zni^op>1C9YC|ex0^X`5%&kmlDJIp9%U(4ip(}%h6hxoB{kbzd%ZbcYubHHsX=Bs8z%G#fW!?bvn5r?l05k=q!fq`!c()4fQ%uj(ZyW6&KNSo+lc#O#`dbm|E;!AV)&go nzm{m`|IE)yE=2a?2p;FOHD!c-YrVfa^#G`-sZjaO>hu2qw)6f& literal 0 HcmV?d00001 diff --git a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png b/OLD_Server/Assets/Cards/SpeelCards/testspellcard/artworkjson.png new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json b/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json new file mode 100644 index 0000000..51d4083 --- /dev/null +++ b/OLD_Server/Assets/Cards/SpeelCards/testspellcard/testspellcard.json @@ -0,0 +1,6 @@ +{ + "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 new file mode 100644 index 0000000000000000000000000000000000000000..9955a0cbf1966ebc0956bef3cc107754ed7011da GIT binary patch literal 2389 zcmeAS@N?(olHy`uVBq!ia0y~yV2WU1VEn?t1{8T15PXG!fm6oQ#WAE}&fA-TE1d#G zTrbu>Wi@D!FEF zConP`VG(0+@EK){2Eu4c7|jI(oeSQ)FW6NT{NVMq>&1EhyA>OJBl@P7nyP-teg8c9 z-SfS&4Za^-IT!?lfhD0~BkL$*G!RBp!e}nQ%mqtl{$%KP6?(pDVM0Byxy0b<>gTe~ HDWM4fLIJZ> literal 0 HcmV?d00001 diff --git a/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json b/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json new file mode 100644 index 0000000..6d1cd5a --- /dev/null +++ b/OLD_Server/Assets/Cards/TrapCards/testtrapcard/testtrapcard.json @@ -0,0 +1,6 @@ +{ + "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 new file mode 100644 index 0000000..2d337be --- /dev/null +++ b/OLD_Server/Classes/Game/Player.py @@ -0,0 +1,57 @@ +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) + + 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 new file mode 100644 index 0000000000000000000000000000000000000000..2c346f11d0705b950a8a46a90872d88571659a4e GIT binary patch literal 3485 zcmcIm&2JM&6rc63?M-aQAu%Szp|+Z&sw-$q3u;9vYMY28Kn)UbNiD4`&juX)k=@(iRm=W1qbf}Y%$KbQf7-Rz~&eaY%s1q3NZE*f2S=fT)ED& z+H+!aMOP}j0hc-W7hsE-40G9H;3hLwQ{&2cNF@q*NR=pvQB9%{P|!mmLi{a0Uc8cFQ{w$^CJ zB9iPiN-(CggC@upYp4xo06DFpfm1wA0q3Rq76V5sWorb$b&7@6BON(o%b^bD3J-Lb z3)Y0aQHJoSx#zTH>BsLCmemC<6*NQWM5u%W)v6s5@V!>C!_=3mbwMs=gSKXw6f73FBmAC4qxt5) zwOxJ8WuGO+ALd%8TjoyUq=#8DcLxZ|^^qV*BiU7t+OKaQDA z_AEK^u-dxu(>FWG)4R#jFBJC0> zV82!2TV`EaG~`<3@}%m3iUjeGkKX^Tt&dCfudi0tTtBrr)WW(?E%D>fC^AIIfY(%p zpvzM4RThL#^Vim+haS#fJAv(e{@rcsV~$EM@t8nZhII;{JFE?59WtCeP^VEj$WRNK zoejtWkVnU&eKKwt=moyKYLPvilJ5vIm}QNEP|1%yTxbP;$aM<&O~Qec({X(%Wm@TXsKf`@%+0hNDpYE#)p}R5!v)T}EOGghSZ9$Dh=3lwA9=8}qffN; ziSDE3H;~Fumf|cxcPX~K+X+KnYbf0}S6>HUJ7o^GudJ9=-f=}M()-X~wF6&rexoLn zIqV)IPx2vlu-*od&fre|Lr?#%r(4>NKE10?xAkeb<;$|I(JQy;_l~gijxIrXN3TdA zryU+F3R~x3eG1%VV%X}bHkUs`6X{-rd8xE~Y2dJT&bzIy)T}OB{^v*wvr=0#J6?R& z>&1{Weo@paGTKMoXm^W0p=EtSuI}hlyZTgHpXv^I4*KZ8$tCY8c?5yUoN=tl&;mbsl{JB2ss%&Q^%6Z0 z%(UPhx?ZAV|LrrqYNXZ>t&$sN9`|4DZ78o>nOu}1eJeTHzDS5JL0JJW^z%+3UJ!GT i(Vb>}0kW?uin7OIP5JDH&ML6-W%4)4{^>IyHT(xuq{IXO literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc b/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2da2dbac598e88b67ae05002c0423b4ca7d6b69f GIT binary patch literal 3265 zcmcgu%WoS+7@vLF>-d!>Zg3vOhO~f1DQc;BR0V_*+JuLR)b`?9TCF^j)~US?vrZ+a zK2&NzsRU|sa!z1QH0nRV|G=fCMGZ@DTuwH)YqNAT^|%`T&`H$rZUY z;xXO70JI1r1&NY^e14L zNe}M@JnY$w0p3HO6X&G?kI-@O2+vpP1n{Gc$=p6Cv`{e{j5|@o1%^?k0p|R&6YpuN zrey|L%d9eIq^CV^T6D(b)DD^B9h3i;Xw$tn2<6O4t9R1H}j%u^YB9Ee73`rbG0*H+USsagMXO0!m*o@o7Q+38J z7H64#pQZMPC@J5p?`S;Kl!F+Q&2v377CkgjBng*QZM!y zgm7gyE{HDN$%Q;L%xb^|E*8p`#!z~4$1~w;)J`oqp#{IHhx9BEaTCveH|6ce4 zOofddhxa1gn%|gj%Nu#@``sl7S_3cl6Rm*>nx73OXnyuZG(3Q0w>1%O(O^xm8|UCf z3bq3Bc%qHZkm$yH$;|C!=9Zq>wG&~CWG5#+g*QFu1oE$-@#B8nu_4|Dn`bwK^z3`e z55W#zb2uThT3fN|ef<$ODed#l<6nh!Hr{kdksiAiy&Ao~_>(?0czJ_fV+)HmUI6ek zub0qbU^FHFQT&%^AP}rG1hTx$Eb7Olmhi(G?E1(Dl%B4M(hqwVvL|^RcCfMWL}d5$ z^ld$TPtV-eGi~@99DoS>8^TfX+g%DqidaNC0stb#Z!jQt_}3CM=wHjX0QWf|6>z@c2*3Fq|R7sMhF81#!$UK3_2_o<@Pc9!}CQOv|d( z&3d_J*fi6*Xmv@OVR>W-S)jwY{s{D-P(uWinB2uy7%rW>}HekgTO z_%I=9M>-)%o7_xw2}~{??cwq3HsW!VPj60l08h84Q8bOBpgQYrk?r3?)+XDq9ZVfv z*0OCl2BwZKY1z%AxDVK)e6)k|8>v5W5-+2O6}kYw8E)_&BEpwjB;=8P+^x%d`~=AG Z?}UvPq@zfZ^ec(~9Xcvy9}*y9%|A*bbZGzp literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/GameManager.py b/OLD_Server/Classes/System/GameManager.py new file mode 100644 index 0000000..f3a19b8 --- /dev/null +++ b/OLD_Server/Classes/System/GameManager.py @@ -0,0 +1,137 @@ +import json +import socket +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("spawning card") + + self.__cards.append(card) + + payload = { + "event":"PlacedCard", + "owner": owner, + "card": card, + "x": x, + "y": y, + } + + for userAddr in self.__players.keys(): + 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()) + + # 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 = self.__players[userAddr]["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(), + }, + } + + tcpSocket.send(json.dumps(payload).encode()) + except Exception as e: + self.logger.error(f"failed to start game due to error: {e}") + break + # handles notifying all players that the game starts + pass + + 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)}") + + # counts participating players and starts the game if enough have joined + if len(self.__players) == 2: + self.logger.info("2 players have join game starts") + self.startGame(socket) + + return self.__players \ No newline at end of file diff --git a/OLD_Server/Classes/System/Logger.py b/OLD_Server/Classes/System/Logger.py new file mode 100644 index 0000000..b548160 --- /dev/null +++ b/OLD_Server/Classes/System/Logger.py @@ -0,0 +1,18 @@ +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 new file mode 100644 index 0000000..6cca201 --- /dev/null +++ b/OLD_Server/Classes/System/Network/EventHandler.py @@ -0,0 +1,32 @@ +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.spawnCard(event["card"], event["user"], event["x"], event["y"]) + 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 new file mode 100644 index 0000000..a08faa6 --- /dev/null +++ b/OLD_Server/Classes/System/Network/NetworkManger.py @@ -0,0 +1,142 @@ +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", + "id": user[client_address]["player"].getID(), + "name": user[client_address]["player"].getName() + }, 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.") + 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 new file mode 100644 index 0000000000000000000000000000000000000000..8e128bb5dc72da44ac3a94766869908a2d6b6bc8 GIT binary patch literal 1903 zcmZ`)&rjS&6rSJGyc&udl0mbHh!T4Dnfq=qtn2a?Q8*tT|^MUE-HvoadAZ{C|KwzH&sy!s?=3i ztE3BQj1)AFi1rMT^nrrVA>2_bWC&hH`OM$KT*_mfe(c(tl!2C;w<~nf_UtujYO6kT ziPL^g4ym?rb`O+YL{R|~R8UqBO;MHL2Y?cVrb-G)JyQ!BQE3`<4fG62i&=T!XS0vz zYSarqu|48a#)qv0Vp*Y6UG|-I8uD}?M<-rAOdxczj= z(-SlAB$!;x+(@Zo_Sx`&8OIv+q&+#jjvbRP>;f`@ljyzj+ZHGEGBV3K- z29y=Y-*5~CvFO+6tl)Z{&`PY&grV)MOWcU`X!r3eGfr5p*&&@Pm8cU+kHHSM=zCCo zOn~_m&#uvM!C!+-%GI)0@_9C>+D|>ns!Ws_8xW!o1kc!nFd77bNc$KxW(c_NE4lqT zwHj=VcGUL1oJcr`mj&X?fa=u;PxX<8K60#&p6H{e`mKh3tA2axXafZFV}1HWpRViE z&0PP>>o2DEzG&p$ZK2-mK-0K>YK%9G@%`IBrGL14^wv@B*O6D+E9bYK-{*3QhM8}noOnFOwj1XAEtGu&mg&O2ZJ2jkNV|yDNAEYx z`z@5}1}7WlWDDU4)Q#sV>xF2S^19gD9_&ra;yspC@yUiObi=Z~-mu+>kp~R#vn<>5 z{Ll`|@WCvLneYZC63@m#{EXx)A5#14*NSuuFwf-Q=*A#mXFmd7pH4v>7#<+>h9eFj;oqBg~qI>o3{%5xX__xwS R7=pem{t?)}Zy@Bl{sW&n(pUfh literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fc97bd5e938289e59a673294dae3d6d2b004b7fe GIT binary patch literal 1503 zcmZvc&ube;6vt;)yQ|fYwH&*3ez?X;NkW!VQ5r*`1ef3h_fWf`PAI6N!?H6{6|HvN z*|my{X?sYax#eas!+(O@6Br6RA>%wzVn$kvv1zK z*`IB@NT98){3ssf2>BfcS<@$Cd=tbW;e=D4)Unrm+STeBMV<3=UA?X=t@}pTtecc* zWRq~?KH=uEmhMu|_oxB4<_jAFb1=8zoF1H#k8ZV!qw%boE#@azUW^Di5)M;wjObLU)`~8{>moI*+|7x8Z!-yoM)_*zovTMc} z)asxE5O7fK9!32Bc03v0%P!`nX-*I5cjSBRc(RT{vbc60Jb12il@O^FAYrFWpTUe7 z%$&jUGnh4l6%?cRU8lIcUug$k*zLB1mcW{*CWh*h0#u|YHeAUQYb)%fs`!!Up6VNM z?0OyLQBHMQ#L2=9FK+kTSlnthg%>N2#f)u*0oU%C!V{^8jN>qnmqN>_*F`OyVZut(>~+~UJ`9(;PVKd>F7 zOGsbM=)u5#1L*?NGt+bqsh!a;2lkujTSQuz(8sIS2KF_?CSv0huMO-qz(cDn=OFlP z$HGbvpk5hEii~wbzUQMZGxqtO>!&m7y(JaK+#m>JH*Q1H8Iv~bATf{fH84LBwWZ3Z z%p*mE&o-)p`GySVm!9fNBb^$rA2r7Wx{)<+*eA<>6X?>#xWuv2?=4QAY7L)nEiDF# zk0QB{&7_Z5IZXa>DxTz(DF^k}lLo9!BfE$S6QH7fVO>wpy)G{U!?zVJgBj&0rN0sT WIl1zjy!{8c@{f6z+J6x+YVp6>{eH0k literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc b/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a79516b405b0637595363c8d65b4bed0955483c0 GIT binary patch literal 11204 zcmb_iZ)_81njhO^dy+WBfgy1cLk#(AASV0?2_dB+1OhA@{v<$~hPoy*0SCv<&Wsb{ zI+T^FUD`uhcEzc=y{^``>UFbfE1}bU;69vmr}m_N*t?yv=45LmB&1V6+_#|iL)B0B zJnwkM9>=L*kMZm0edhiD_xC=}^Ufb@YpW@E{J;5v|8)yR{SUqv4_#osy#vfg6i0Ek z7&WE)wkaEVw@=xL@0fBBpPr(@x5u3Gt|^xd(>h}Ad1i_sJRPf=ub!$Vyfaoa@0s%0 zC_6Pqajy3%&i$#KqCSJa{!G}Nmv1iv^AW{U*o7(k6}etM+o7 z_yorZ27fUjNKpz_j^@=PN0PI%yf6_>@mif8BF!vJBxY{&lD1V3;7g`XtI@-fA}@&A zcKrovIT?$>{7&8y_z0)f>%ljRi$J4EBWSE%t0{??F%~fn5AqK9fBR3c$UdUdjtsnP zd_IMs&&=SA&16d$&h{yUe`dzPlD4O*u(^2CHh9Cj$Rkx597Uz=)|`;eX~d=-@Mf$O zDoVkdyBL=-Sd0Hct#w%Iv{6!hv5+}qXHb&2B-CuPCDdGN*1ZBPtugYZsX3F+c#P0e zA5xfO1H9S)*|M>*!3dO;Ra;ty!CU(eIUE@y%HmtoZ8EF$hH=_aEM%_E;GtFKNPX_K z=7Etg#}?PbocR{sT9V%k&1^G5OMPo=5insFy2ev2q7;E07QY!tE(GE_+yv%zB%Dk& zl*Yn73&1W~7TzU^XEHX2`Azh-5nkA~Q4m0+x+f3)S4@r68+SfpG0X{Q+#|^V0>)Gkm~x7>3Zovc`nN(Rfq}hf^&ZaWP~>HeyS507l%S z@}9<=XIIvz|yuY7U!^SA%?s`}amrS+oPdJ%K_ z^Bylyy&;*ypB#Hk|8tGJdr0xTrg~nJJ+B$@ZCOv7;^|O59kQomlj`17JX5M?O7=`W z?FgwIeNQIU*CyqTD@w-|wc`p_w>!VDm-wnDNJ`$VcU$r7Q9XNP!+i^*M9r8;3NMHU z1gF<@oTlb533(pcguW_71v7od#9Si{`quq34QWJq#tp8Sx`#9TOg?6daI z%cPkVI9p0u_t*E{QMvaVopyvxvF*+30P6=$CG3$p{w9;+$!^ z(mcHhXu3k*rQ?k5FWHu;JB~N0C7eGq`$OB~KInys^JWAv)>$l~bKOZDt#~f56qRlT zf_4EhK%)Un#Z;e(!Uf#DrHiWp9sNoXIU)rjAXV|A7?@1;5hT|!dNvY`LFrPWfYyN` zJ_fiXj}g2eB!t00uwH0}x^=j9>1e8Bv=4)uuwB)F?YdAc3b@n>d<(mf+l}#VfuG@{ zaDudBPzMH8ow`F#2}EF0lSa=aqVb?p=)~xHy=!4;a=35`Y$*g4I;3qcycc>O)_bqn zcoCa`pdAppu)a1Rsg4Txy76e(14+eS>PWk_;nBY5)YjUjb$fk%Q+{Ab9XOL4xR4#V zpbT762QDdWpUie-?&eva%68`1-Ynazum@H4V2Pm3>QQ-^!o9 z_HdM>K9FS(DC{AXJ@j~7VNX6CJS(4jOBtM22d6Pb*V-0^?f+(9pSo`--`e(ZI=^%O z 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 JlUOnn{|7>jn^6D& literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc b/OLD_Server/Classes/System/Network/__pycache__/NetworkManger.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4845ff9545cdc4ecba8a687f01386bd5ad7f1877 GIT binary patch literal 10000 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 literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/PlayerManager.py b/OLD_Server/Classes/System/PlayerManager.py new file mode 100644 index 0000000..e149622 --- /dev/null +++ b/OLD_Server/Classes/System/PlayerManager.py @@ -0,0 +1,23 @@ +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 new file mode 100644 index 0000000..be82662 --- /dev/null +++ b/OLD_Server/Classes/System/QueueManager.py @@ -0,0 +1,34 @@ + + +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 new file mode 100644 index 0000000..c3485db --- /dev/null +++ b/OLD_Server/Classes/System/Server.py @@ -0,0 +1,40 @@ +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 new file mode 100644 index 0000000..a274f43 --- /dev/null +++ b/OLD_Server/Classes/System/Utils/Path.py @@ -0,0 +1,6 @@ +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 new file mode 100644 index 0000000..e4d02a1 --- /dev/null +++ b/OLD_Server/Classes/System/Utils/StringUtils.py @@ -0,0 +1,11 @@ +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/Utils/__pycache__/Path.cpython-311.pyc b/OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9fdc48708a9a0efeecaa3c2f2094979ac589986c GIT binary patch literal 755 zcmZutL2DC16n--aZF7#4}h;rdR_i{%^Y0*N4%}NdjUQWU!fYc>u$j$+A#(XL~nbv7nW+8&<%!%W+aQP1=;@Yp7Pn|inqtXTpTW(rtqsqV(< zquL#@YPGS#I;}Uwg0?SQ+!o7GxDjc&Qd<=N1w}0ktkqUDwlKRTXjUs|!nyWVGV@fA zhSn5YiMvwBN-3mLBod*qErf(6WT)xY?QY!J_z@!H zAXvqdAh{^?6e~ICv4VpB2QB1K7CebiZ;^N?J^5z0*``!ycYg29`+jfcT__X;TpzwQ zs6qgK@I!a`j+xFRGIdZuAsS>{N-{)%1yF>ipok3tpo!aE89^awi1~i;W2$g0bx7By zGmghPP{p%GocO^ z((YRKEMH*ot!~<`+M%1mD#4VJ)psJULIXXUp7%U7P}%ehPHUeKtKU=M7^rjQ^x=nETfdY zqid>8<-3W6Y(i71ZXwAtMp^czUPMjSxsGhl)x=AWkNRhdRHu(h=4@rMS5>5z?3N@m z=Q86nno-DWY&PzB@cFT;2!{u705#a1NaDXk-Y&n%ZQt07Otm6YuB;b3=m3?GMW^4W z8$4>PMm4Gzt+k4%vgw%L4!88cV*pFGw088v^WY!TtG20w>KTf(^)1Ab)KHH4b?wFSR_ zd@J1sB>x3B77r5>O@5o^5C 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 new file mode 100644 index 0000000000000000000000000000000000000000..240b40b8841b12e0e5578b9aebf0cee4eb50fb0f GIT binary patch literal 6395 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 literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..963cabf859066f1de879a492cfec478ba7456afc GIT binary patch literal 4142 zcmb6cTWB2D_0I0hX!faf^jN($mQ>q=jUcXZ8%K5HTE=eWDsE-dS}0kTohx})t6BBV z$g(yoV@L`T7%YEDj$N#fLTp^9^VPHznvWC;{n17WS|%+RT1fr3kqj;FPtUotvoFh~ zy|DM5d(OG{o;mORb138|Ftom3(yzjV{0%qm5KF-BF#uMHPIMtn#+_9d7hvy6duF`j zUV(VXS)zO2Bf9v=|5X|tOJV3kmUcaD255$dI) zE(`&dN&tB{Bm?9vLn1=D^d1>+&}Envy#Z#Qu2BD^NB6xajt6u%SH%$yjr zD7`u{OwDO4GduC7kxm*kcJcJt2~?9hM%h)$CQhg0rb&T$!L;ZMCzbR$IJ;mgu~^bb zTCrHRxk|T#E;fkoYB1d(h4#)R@n*Qt+rK1kDP4uA3fo{I+Rc~NE?5EuCAbUBBvIB5 zY!K$U>;PaDbeDp)evFZa0(c|;(1!v8hbJZ;R9Pd;wr`4B=ebI%LOX4zuWLZ{*C zv*l8JIBw(UF*M6EQ;eGCkJ06`?bW)hA$7r}=36k`AVrx3Bin)Ae4uyz*yn+Rg^r&4 zgLejZh$nP(MJ_Z&x0?>;n+`rWzS;C@;qa>~!(TKXDoQ{sMu;!;%tr2YEc0qH<0bK60>8O#5A>PVh}aNZS_8U0VFw$B|tgDD#w`aadjl1 zZ9k)^!EMP=DaD4&bk5Vwq!w& z%9}zbt{Zh6=&E(Ym66|o7OxvFeNluLTIz_f&52M5qz+P%M3;dx`XZ-$6HxJ^>P8i{ zvyKGYDr)!3sd~dbX;I1vsoocPto<%7)#pN$H7B|9r@m3ax{&+2%OjARPchQ^iFLr` z8Gu+`l)=7-Tufz69j?GGq$@f3F8M{3UtNZrzbIdq1-RLP=7o83&3l>53z`pdI-4^L z$m!X@6lPv1GR!g=sxtWxaMY(5_O_3skwKGeiC(3KW&52Noq+;pD-L{R*2NmYYKvFm z5UBl=@no9ns+DmrSNS{o97POeEW=KyS}QLgwlvFi_>($wA<@yA}XZF_!S6n4k%~9C#KAdVN3el%&ck4)JSA>YWvPyOVC*>nK5`302SePX$?G^G4woJ z!LK-_>&zArvZX|v=^*HAd?B5Q>$X5mjCIu+rP9IGj)|_ebd=G9aKdbXXob?@6t%xA zp`{tDacy1qgLi`4ZCbuf+iW|$Lz;c9OXrH7rci4k+PNLo@=6bzOvE)iFRMdYWQ~eo^?Na zC;Q;wX7ADM-q-TIuWk0e{zYV{*bj0Sk3hox7o_9nZcN>+_-x>IU^}uuAKAY#aQ08a zr{+fA$X4Y1Um`6}l;FRMKHz$8wt;#+K0Pqp=J~A6cg8P$w!i0$B>hp60IsR6z~|&^ zOu?&em3l}Rug#bZOT}C(>0LpWgSMU zT)lw1G@!l-dsVO6OaxtpNB7)=E;EHM)s37Nn{S}i;c>g?n_dgsO+NO%(ao#1Qv9!{ zba5JTE<5snNL0@DyqX7G=_+fkDlhLX^BB?O(QGuqXdD}D6;p*epR}&1NgdLphZ~O# z!Z$pj{$I9oWOKE>uK+j~@XaK@>33ouVhCOZNY1^MjC!qvjHZ#$IFlRX#%MW?CHJ#q9`G-Tx5CTe zm26(==If&yC*Is>zp$nJ=ovJAjZ4-o@cYd`&-(t)1O0_y zr>s=Kkqgo^W!N58ei`o8IY$l`6r4bIs zVn3UUr%MzORc<%NVsXRBz#lZwz8Q-#3=-RGT8u>iV%Xs@jC5`~u2pslw-~}~1gAG} z!cK}Sl40596NU=!W`9l!;aA=rEi`v*iXDYu{I_x4nR97NnlF;avht(I1w2*5x9B<-t|He5yago%1q23jgYk;oInAc2nse*dQjE zLC3KC+Z_4cK*qAn&y^uZNhjGD5HQ1;_{~MHAP8TQz?UTSS90K=a$FF4b_mY=?0*0% CA$EWO literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/Logger.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7dc2efc75de4596d9c47dfe4c615a38a80afac96 GIT binary patch literal 1309 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 A5&!@I literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/Server.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9c11ea7f48ed176cc115e364215a5d9a6efa9036 GIT binary patch literal 2529 zcma)8O=#mr6duX4Jn>(CH-8%!ElsyE-Da0IX`n3ILrVA3qzh?UFa}|wN$NzF(~+_v z!Gsh-*~4B6h23KgB~3}8*FCh*V-G#Z#jr*Y2=vsOOM2Q<-y2!7<)qN@=)G^=n|U*O z@6D6H&t#GW+Ume}?6o){f8ro$N*i1{0G<(p7?Mc}K9>rT7|R72xNOEMNDn28E4P=VuSUnN;c3apx`O1hAih)f<5BXL9wdLk2Y29Mtg8ADnj`M$q!xSW@~ z)WcGREtRa&2IDZyE;DDh%C|Za^^sZH6T0~4Rc;zEN&UFG0n^voHU*>Y!DS7=Gr|bI zM?qdCEXEW=x(`x;=CWF%P3pz!p;lVo(A8mS|t&}XEXx-J_T zz)2&^5`g;wr;Gu3w?R)`Vf-=U-hl1{T`w61XSUrXan`mURk_n8*)e=cHe3acFb!`c z9B*`7+b& z)*SbBtalLD3hnl;F$jb4;E^$;jRZUFOY>^20 zB*)9hQ%KTC&E`GZu+#-jKTW-)ri{WSncZ?Xy8Z^vPh1rp@fBw(1b1lOZA(ExYSyeqM5(h11V zx^#M&>LPjM<^7x8$<_i0*p*SQ<3ucP5XkNby;r9T4Z7gcg>!B8)cNt?h4b^lZ_e)ruD)5y@gpVVI#3Pe zTm^ew$z2TJauw`#x&Ww5yh<+SRo!=6HS17o3$0sBYe5yLim{#bXxhO8a{)YM3|OGoc;R z*-mWX>n$AYP4!ImKlXt&yn^0H&lK@5Km^LW(WCPJ7jO|Z5t`dzpcAfF^uC`A5BObB zVCLCB0cph~NotbRq4+gP=1}~aWWWu2lf2_b`vv*HjrJzF>qdK%+;*eANoL$=Zz(wm QB65}djk15PQHU4%7rk?0IRF3v literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7700f6370bb88b162f56b69c89b85f4ae5dd62b3 GIT binary patch literal 2281 zcmb7FPiP!f7=JT6J3IS7|C(getV}VjU8<>QsvxBvBIaUaAy#2o8J5gT+|BIF`exFy z%d!Yoh#+|I&>lSW;2|Xkul1xy#e)q=Nth%M5D(shD+oRLeecceKlR{)`M%%x=Y4PH z`}5}KbUHy`E#$wU&qWFO6@_pq0q9r&?h})kl0}MwOGSyxa#02@TalVlR3x-TtY}Rw zsvIj;tfmz;j-yt*mMA7TR;^?$RZK}lCQHPO-6N*9Ba73D>4sE@|Bk|PLGqJJ(?yliN1DWMjkhUF#yBdQ$kmvGm37`MkkJJORv z)Z5h{g~)Pq+V#rJtJv%MW?jc3=rz%<&0L+)dYPfgb9C;eyS(^?1jBDDNXC%hMiMQqYg-kY8t*MGm2kFn5wx^um0g#DbHnv$tt7Pb^@gt*M#ZjphSAIh%206* z543@NLJo8KmhwerkR4CWesversl&-xV98T0^=0z&5~ySXb*wHG^ZB4nhm-&ea02o}sFZ{Du~K=YC+@ZnWO zkD)ctX8mo75r-B;?Y3Oc1loUT>6Ww;i~uxhHx@LHyxctB-#o$4hW%5B@scu3Gs6f& zJ>ySxXMb?q3o@HR_wztpOpUIyX;e%CX^sU|?CYrK(eWA(DCA&`Ufb7RKi22By>Hu( z+K;{O+uyZ+^nPjo)P7=A_wJ47{&FSC^{$Y6m_u{<3cVx#8vU9uHxhL8jf5GKK3R~HRmNyJP zVHh>X+_Vs<4CCX?vK3e&uE+c=T*|iXcxA8R*sfuS@x)INg}`f$<&a=XnGWO;;m3$X z$5D#}2i*M-$Y%w=C*ygAjIUH($M#j%S>2$XANM|Dv~0p1GujvoCGZs_H`oVmcJtPdeYeNAI4D_Oa5ee)n5(ja=s$fmQ?<76lg8AU)jd%b>C20 z+}KWYoQH9kaK2N_d?)7|X3+(NCUh=c-ggd)`?z}OfYehm*;MhFN{E%IWD<=Q*71U_ z8mWMye^a9bG~cWQHI8PQe=d`37>mWz9@I-Kee0 zq;~Q)Fa~5BCO6PPCJdLgYlYS@r(K)oIqVr`S#lJmR#ODi2x-0+g)&a=386G4m`CXs z5D0OufPsg|>gxzi_&z>$_@IMutLxeedFtrl&bQpPZXPCQ2BnotV>FZ)XUBP(=e*t! zn-SULoWI-*qJG2?VJ*SO#e+C*Bta53V$HdtiKR{y>O@^YQ&A&K1?nPNZ7}UK#Fa}S z0@_+3G>2BFIMpmS%dg8_hq+g}a0(uC=iaQ4W9~e7o;&x>>jJ8eTSk2mM*SBuIz#|l zZW=w^f2oV~dKa_CW>pxzvv_q-!*OmYYtJ2Z6$A7J^<#vt%^2%Ip=nkJ7LLyTy50ms P_J6}K^8Nltz~uY`cWn-( literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/World.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e42711557ed5fe8ba39f429614f0fef67e571807 GIT binary patch literal 1078 zcmZuvJ!lj`6n?XR*<5m$n5f`SVz3AvND2!J2~kNj-6_N%EDOVOGm$lWdvRtHxDZ0X z2uUGHcUEHQVQ+13qg_}L1S`8ECkUy0Z};*`X4yCIZ)U#lz4x_PEC8JXiGODZMH50;1AY{2K#NscOcAUWOD!#<1x=^N4jxV4^XIix z+Mi3LT=8e5UQFss{*yQgW67UQ&-$}LO^(e;wIY>29R*rTOm65z*8B|6#8M-5IS=D7 z;e54}`wndvU(vlNHem0{wJqyyse=Zjj*`i;icfJML>Y&xs5FtmOG-Vn=0MS%itbd@ z*_?>#M>Q?HkV)PSy*ii!Irj8XGNmDuf#IF??e%Z&h$_)JCogI0=z4WgCe_2az!;F8 zp?ZJ{qGI?NYes0Ck8jPS?w%hziM?zo0;H&4Y8XXYs79fTlZQemO^=S@>e32?I792$ zLj?3K6dUlXe`xpd9*Vnd+Z-=!Sv#fe((dYa_h!2QgBMRyu9W+zX)*Se^R&QutuB@$ z()&4owH!p&m{x?CWiZ*`x1fI)Gc-aqQ6#P8)FhxRPyO#9y-V>*xY3TUM;$?j%mo xbWY^O$x&qQjbQ3Ah68spr#Gc;V1VXKUqaC~8Dl@7_!GweIRk8TA5dh+{sVUm?y&#> literal 0 HcmV?d00001 diff --git a/OLD_Server/index.py b/OLD_Server/index.py new file mode 100644 index 0000000..27fd861 --- /dev/null +++ b/OLD_Server/index.py @@ -0,0 +1,31 @@ +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/jopxlbza.log b/OLD_Server/log/jopxlbza.log new file mode 100644 index 0000000..c904742 --- /dev/null +++ b/OLD_Server/log/jopxlbza.log @@ -0,0 +1,28 @@ +21:35:45,88 root INFO starting up server +21:35:45,89 root INFO starting up game manager +21:35:45,89 root INFO preparing to start server +21:35:45,89 root INFO starting up network manager +21:35:45,89 root INFO starting up network manager +21:35:45,89 root INFO starting up tcp server +21:35:45,89 root INFO starting up thread for client socket accepting +21:35:51,856 root INFO Connected with ('127.0.0.1', 49747) +21:35:51,856 root INFO starting client handler thread for client at address ('127.0.0.1', 49747) +21:35:51,859 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]} +21:35:51,860 root INFO user in message None +21:35:51,861 root INFO user logging in +21:35:51,861 root INFO task passed off to gameManager +21:35:51,861 root INFO creating user with id: > +21:35:56,111 root INFO new length of user dictionary: 1 +21:36:08,506 root INFO connected users 1 +21:36:08,506 root INFO confirming login for user +21:36:08,507 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]} +21:36:08,507 root INFO Received message from ('127.0.0.1', 49747): {"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]} +21:37:40,56 root INFO Connected with ('127.0.0.1', 49795) +21:37:40,56 root INFO starting client handler thread for client at address ('127.0.0.1', 49795) +21:37:40,57 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]} +21:37:40,58 root INFO user in message None +21:37:40,58 root INFO user logging in +21:37:40,58 root INFO task passed off to gameManager +21:37:40,58 root INFO creating user with id: > +21:37:43,614 root INFO new length of user dictionary: 2 +21:37:50,2 root INFO 2 players have join game starts diff --git a/OLD_Server/log/jsrrepta.log b/OLD_Server/log/jsrrepta.log new file mode 100644 index 0000000..62fc73f --- /dev/null +++ b/OLD_Server/log/jsrrepta.log @@ -0,0 +1,28 @@ +21:02:55,541 root INFO starting up server +21:02:55,542 root INFO starting up game manager +21:02:55,542 root INFO preparing to start server +21:02:55,542 root INFO starting up network manager +21:02:55,543 root INFO starting up network manager +21:02:55,543 root INFO starting up tcp server +21:02:55,543 root INFO starting up thread for client socket accepting +21:03:03,608 root INFO Connected with ('127.0.0.1', 65384) +21:03:03,609 root INFO starting client handler thread for client at address ('127.0.0.1', 65384) +21:03:03,610 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]} +21:03:03,613 root INFO user in message None +21:03:03,613 root INFO user logging in +21:03:03,613 root INFO task passed off to gameManager +21:03:03,613 root INFO creating user with id: > +21:03:03,613 root INFO new length of user dictionary: 1 +21:03:03,613 root INFO connected users 1 +21:03:03,613 root INFO confirming login for user +21:03:03,614 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]} +21:03:03,614 root INFO Received message from ('127.0.0.1', 65384): {"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]} +21:03:21,850 root INFO Connected with ('127.0.0.1', 65399) +21:03:21,850 root INFO starting client handler thread for client at address ('127.0.0.1', 65399) +21:03:21,852 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]} +21:03:21,852 root INFO user in message None +21:03:21,852 root INFO user logging in +21:03:21,852 root INFO task passed off to gameManager +21:03:21,852 root INFO creating user with id: > +21:03:21,852 root INFO new length of user dictionary: 2 +21:03:21,852 root INFO 2 players have join game starts diff --git a/OLD_Server/log/kawhnrji.log b/OLD_Server/log/kawhnrji.log new file mode 100644 index 0000000..8a5fbfd --- /dev/null +++ b/OLD_Server/log/kawhnrji.log @@ -0,0 +1,32 @@ +22:18:28,492 root INFO starting up server +22:18:28,493 root INFO starting up game manager +22:18:28,493 root INFO preparing to start server +22:18:28,493 root INFO starting up network manager +22:18:28,493 root INFO starting up network manager +22:18:28,493 root INFO starting up tcp server +22:18:28,493 root INFO starting up thread for client socket accepting +22:18:33,537 root INFO Connected with ('127.0.0.1', 50893) +22:18:33,537 root INFO starting client handler thread for client at address ('127.0.0.1', 50893) +22:18:33,539 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]} +22:18:33,540 root INFO user in message None +22:18:36,99 root INFO user logging in +22:18:36,131 root INFO task passed off to gameManager +22:18:36,195 root INFO creating user with id: > +22:18:36,427 root INFO new length of user dictionary: 1 +22:18:36,454 root INFO connected users 1 +22:18:36,467 root INFO confirming login for user +22:18:37,23 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]} +22:18:37,87 root INFO Received message from ('127.0.0.1', 50893): {"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]} +22:18:42,538 root INFO Connected with ('127.0.0.1', 50897) +22:18:42,538 root INFO starting client handler thread for client at address ('127.0.0.1', 50897) +22:18:42,540 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]} +22:18:42,540 root INFO user in message None +22:18:44,273 root INFO user logging in +22:18:44,305 root INFO task passed off to gameManager +22:18:44,369 root INFO creating user with id: > +22:18:44,475 root INFO new length of user dictionary: 2 +22:18:45,389 root INFO 2 players have join game starts +22:18:47,378 root INFO connected users 2 +22:18:47,410 root INFO confirming login for user +22:18:47,948 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]} +22:18:48,11 root INFO Received message from ('127.0.0.1', 50897): {"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/olchcxfi.log b/OLD_Server/log/olchcxfi.log new file mode 100644 index 0000000..119245f --- /dev/null +++ b/OLD_Server/log/olchcxfi.log @@ -0,0 +1,33 @@ +22:30:19,522 root INFO starting up server +22:30:19,523 root INFO starting up game manager +22:30:19,523 root INFO preparing to start server +22:30:19,523 root INFO starting up network manager +22:30:19,523 root INFO starting up network manager +22:30:19,523 root INFO starting up tcp server +22:30:19,523 root INFO starting up thread for client socket accepting +22:30:25,764 root INFO Connected with ('127.0.0.1', 51190) +22:30:25,765 root INFO starting client handler thread for client at address ('127.0.0.1', 51190) +22:30:25,767 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]} +22:30:25,769 root INFO user in message None +22:30:28,438 root INFO user logging in +22:30:28,469 root INFO task passed off to gameManager +22:30:28,531 root INFO creating user with id: > +22:30:28,679 root INFO new length of user dictionary: 1 +22:30:28,898 root INFO connected users 1 +22:30:28,910 root INFO confirming login for user +22:30:29,365 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]} +22:30:29,397 root INFO Received message from ('127.0.0.1', 51190): {"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]} +22:30:35,73 root INFO Connected with ('127.0.0.1', 51194) +22:30:35,73 root INFO starting client handler thread for client at address ('127.0.0.1', 51194) +22:30:35,75 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]} +22:30:35,75 root INFO user in message None +22:30:35,940 root INFO user logging in +22:30:35,982 root INFO task passed off to gameManager +22:30:36,3 root INFO creating user with id: > +22:30:36,98 root INFO new length of user dictionary: 2 +22:30:36,277 root INFO 2 players have join game starts +22:30:36,468 root INFO game manager is starting the game +22:30:36,805 root INFO connected users 2 +22:30:36,817 root INFO confirming login for user +22:30:42,749 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]} +22:30:42,781 root INFO Received message from ('127.0.0.1', 51194): {"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/ploaokwx.log b/OLD_Server/log/ploaokwx.log new file mode 100644 index 0000000..a6fdccd --- /dev/null +++ b/OLD_Server/log/ploaokwx.log @@ -0,0 +1,59 @@ +22:53:50,717 root INFO starting up server +22:53:50,718 root INFO starting up game manager +22:53:50,718 root INFO preparing to start server +22:53:50,718 root INFO starting up network manager +22:53:50,718 root INFO starting up network manager +22:53:50,718 root INFO starting up tcp server +22:53:50,719 root INFO starting up thread for client socket accepting +22:53:57,759 root INFO Connected with ('127.0.0.1', 51806) +22:53:57,759 root INFO starting client handler thread for client at address ('127.0.0.1', 51806) +22:53:57,761 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]} +22:53:57,764 root INFO user in message None +22:53:58,552 root INFO user logging in +22:53:58,584 root INFO task passed off to gameManager +22:53:58,657 root INFO creating user with id: > +22:53:58,751 root INFO new length of user dictionary: 1 +22:53:58,980 root INFO connected users 1 +22:53:59,2 root INFO confirming login for user +22:53:59,505 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]} +22:53:59,516 root INFO Received message from ('127.0.0.1', 51806): {"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]} +22:54:02,832 root INFO Connected with ('127.0.0.1', 51810) +22:54:02,832 root INFO starting client handler thread for client at address ('127.0.0.1', 51810) +22:54:02,832 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]} +22:54:02,834 root INFO user in message None +22:54:03,426 root INFO user logging in +22:54:03,448 root INFO task passed off to gameManager +22:54:03,480 root INFO creating user with id: > +22:54:03,586 root INFO new length of user dictionary: 2 +22:54:03,818 root INFO 2 players have join game starts +22:54:03,923 root INFO game manager is starting the game +22:54:04,230 root INFO connected users 2 +22:54:04,262 root INFO confirming login for user +22:54:04,741 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]} +22:54:04,774 root INFO Received message from ('127.0.0.1', 51810): {"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]} +23:01:35,624 root INFO Connected with ('127.0.0.1', 51984) +23:01:35,624 root INFO starting client handler thread for client at address ('127.0.0.1', 51984) +23:01:35,625 root ERROR Connection with ('127.0.0.1', 51806) forcibly closed by remote host. +23:01:35,625 root ERROR Connection with ('127.0.0.1', 51810) forcibly closed by remote host. +23:01:36,21 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]} +23:01:36,22 root INFO user in message None +23:01:36,637 root INFO user logging in +23:01:36,700 root INFO task passed off to gameManager +23:01:36,762 root INFO creating user with id: > +23:01:36,975 root INFO new length of user dictionary: 3 +23:01:37,228 root INFO connected users 3 +23:01:37,312 root INFO confirming login for user +23:01:37,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]} +23:01:37,852 root INFO Received message from ('127.0.0.1', 51984): {"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]} +23:01:41,725 root INFO Connected with ('127.0.0.1', 51989) +23:01:41,725 root INFO starting client handler thread for client at address ('127.0.0.1', 51989) +23:01:41,727 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]} +23:01:41,727 root INFO user in message None +23:01:42,769 root INFO user logging in +23:01:42,801 root INFO task passed off to gameManager +23:01:42,853 root INFO creating user with id: > +23:01:43,191 root INFO new length of user dictionary: 4 +23:01:43,244 root INFO connected users 4 +23:01:43,349 root INFO confirming login for user +23:01:43,822 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]} +23:01:43,843 root INFO Received message from ('127.0.0.1', 51989): {"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/tmqifhet.log b/OLD_Server/log/tmqifhet.log new file mode 100644 index 0000000..f6bd341 --- /dev/null +++ b/OLD_Server/log/tmqifhet.log @@ -0,0 +1,23 @@ +22:17:17,848 root INFO starting up server +22:17:17,849 root INFO starting up game manager +22:17:17,849 root INFO preparing to start server +22:17:17,849 root INFO starting up network manager +22:17:17,849 root INFO starting up network manager +22:17:17,849 root INFO starting up tcp server +22:17:17,849 root INFO starting up thread for client socket accepting +22:17:23,920 root INFO Connected with ('127.0.0.1', 50854) +22:17:23,921 root INFO starting client handler thread for client at address ('127.0.0.1', 50854) +22:17:23,923 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]} +22:17:23,923 root INFO user in message None +22:17:26,307 root INFO user logging in +22:17:26,339 root INFO task passed off to gameManager +22:17:26,370 root INFO creating user with id: > +22:17:26,466 root INFO new length of user dictionary: 1 +22:17:26,654 root INFO connected users 1 +22:17:26,665 root INFO confirming login for user +22:17:27,185 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]} +22:17:27,239 root INFO Received message from ('127.0.0.1', 50854): {"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]} +22:17:35,108 root INFO Connected with ('127.0.0.1', 50858) +22:17:35,109 root INFO starting client handler thread for client at address ('127.0.0.1', 50858) +22:17:35,110 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]} +22:17:35,110 root INFO user in message None diff --git a/OLD_Server/log/usujxxks.log b/OLD_Server/log/usujxxks.log new file mode 100644 index 0000000..61d04d6 --- /dev/null +++ b/OLD_Server/log/usujxxks.log @@ -0,0 +1,7 @@ +22:18:11,454 root INFO starting up server +22:18:11,455 root INFO starting up game manager +22:18:11,455 root INFO preparing to start server +22:18:11,455 root INFO starting up network manager +22:18:11,456 root INFO starting up network manager +22:18:11,456 root INFO starting up tcp server +22:18:11,457 root INFO starting up thread for client socket accepting diff --git a/OLD_Server/log/votjjlwn.log b/OLD_Server/log/votjjlwn.log new file mode 100644 index 0000000..fa08189 --- /dev/null +++ b/OLD_Server/log/votjjlwn.log @@ -0,0 +1,35 @@ +21:49:14,507 root INFO starting up server +21:49:14,507 root INFO starting up game manager +21:49:14,507 root INFO preparing to start server +21:49:14,507 root INFO starting up network manager +21:49:14,507 root INFO starting up network manager +21:49:14,507 root INFO starting up tcp server +21:49:14,509 root INFO starting up thread for client socket accepting +21:49:17,561 root INFO Connected with ('127.0.0.1', 50136) +21:49:17,561 root INFO starting client handler thread for client at address ('127.0.0.1', 50136) +21:49:17,562 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]} +21:49:17,562 root INFO user in message None +21:49:20,150 root INFO user logging in +21:49:20,182 root INFO task passed off to gameManager +21:49:20,214 root INFO creating user with id: > +21:49:20,319 root INFO new length of user dictionary: 1 +21:49:20,508 root INFO connected users 1 +21:49:20,539 root INFO confirming login for user +21:49:21,932 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]} +21:49:21,995 root INFO Received message from ('127.0.0.1', 50136): {"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]} +21:49:28,5 root INFO Connected with ('127.0.0.1', 50140) +21:49:28,5 root INFO starting client handler thread for client at address ('127.0.0.1', 50140) +21:49:28,6 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]} +21:49:28,7 root INFO user in message None +21:49:28,943 root INFO user logging in +21:49:28,975 root INFO task passed off to gameManager +21:49:29,39 root INFO creating user with id: > +21:49:29,153 root INFO new length of user dictionary: 2 +21:49:29,375 root INFO 2 players have join game starts +21:50:40,445 root INFO connected users 2 +21:51:12,743 root INFO confirming login for user +21:51:14,842 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]} +21:51:15,515 root INFO Received message from ('127.0.0.1', 50140): {"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]} +21:51:22,712 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 35452, 'x': 1114.0, 'y': 599.0} +21:51:22,712 root INFO user in message 35452 +21:51:28,960 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 35452, 'x': 1114.0, 'y': 599.0} diff --git a/OLD_Server/log/wdqxolbm.log b/OLD_Server/log/wdqxolbm.log new file mode 100644 index 0000000..ad78473 --- /dev/null +++ b/OLD_Server/log/wdqxolbm.log @@ -0,0 +1,47 @@ +22:46:35,887 root INFO starting up server +22:46:35,888 root INFO starting up game manager +22:46:35,888 root INFO preparing to start server +22:46:35,888 root INFO starting up network manager +22:46:35,889 root INFO starting up network manager +22:46:35,889 root INFO starting up tcp server +22:46:35,890 root INFO starting up thread for client socket accepting +22:46:43,643 root INFO Connected with ('127.0.0.1', 51606) +22:46:43,643 root INFO starting client handler thread for client at address ('127.0.0.1', 51606) +22:46:43,645 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]} +22:46:43,649 root INFO user in message None +22:46:45,928 root INFO user logging in +22:46:45,961 root INFO task passed off to gameManager +22:46:45,994 root INFO creating user with id: > +22:46:46,152 root INFO new length of user dictionary: 1 +22:46:46,427 root INFO connected users 1 +22:46:46,461 root INFO confirming login for user +22:46:47,23 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]} +22:46:47,87 root INFO Received message from ('127.0.0.1', 51606): {"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]} +22:46:54,634 root INFO Connected with ('127.0.0.1', 51611) +22:46:54,634 root INFO starting client handler thread for client at address ('127.0.0.1', 51611) +22:46:54,636 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]} +22:46:54,636 root INFO user in message None +22:46:55,649 root INFO user logging in +22:46:55,670 root INFO task passed off to gameManager +22:46:55,753 root INFO creating user with id: > +22:46:55,912 root INFO new length of user dictionary: 2 +22:46:56,217 root INFO 2 players have join game starts +22:46:56,281 root INFO game manager is starting the game +22:46:56,639 root INFO connected users 2 +22:46:56,744 root INFO confirming login for user +22:46:57,245 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]} +22:46:57,267 root INFO Received message from ('127.0.0.1', 51611): {"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]} +22:51:59,765 root ERROR Connection with ('127.0.0.1', 51611) forcibly closed by remote host. +22:52:04,500 root ERROR Connection with ('127.0.0.1', 51606) forcibly closed by remote host. +22:52:08,317 root INFO Connected with ('127.0.0.1', 51743) +22:52:08,317 root INFO starting client handler thread for client at address ('127.0.0.1', 51743) +22:52:08,318 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]} +22:52:08,319 root INFO user in message None +22:52:10,75 root INFO user logging in +22:52:10,140 root INFO task passed off to gameManager +22:52:10,203 root INFO creating user with id: > +22:52:11,567 root INFO new length of user dictionary: 3 +22:52:11,673 root INFO connected users 3 +22:52:11,684 root INFO confirming login for user +22:52:12,84 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]} +22:52:12,95 root INFO Received message from ('127.0.0.1', 51743): {"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/yxojocbd.log b/OLD_Server/log/yxojocbd.log new file mode 100644 index 0000000..59118dd --- /dev/null +++ b/OLD_Server/log/yxojocbd.log @@ -0,0 +1,33 @@ +22:52:35,47 root INFO starting up server +22:52:35,47 root INFO starting up game manager +22:52:35,47 root INFO preparing to start server +22:52:35,48 root INFO starting up network manager +22:52:35,48 root INFO starting up network manager +22:52:35,48 root INFO starting up tcp server +22:52:35,48 root INFO starting up thread for client socket accepting +22:52:39,563 root INFO Connected with ('127.0.0.1', 51765) +22:52:39,563 root INFO starting client handler thread for client at address ('127.0.0.1', 51765) +22:52:39,564 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]} +22:52:39,566 root INFO user in message None +22:52:40,945 root INFO user logging in +22:52:40,976 root INFO task passed off to gameManager +22:52:41,8 root INFO creating user with id: > +22:52:41,125 root INFO new length of user dictionary: 1 +22:52:41,303 root INFO connected users 1 +22:52:41,324 root INFO confirming login for user +22:52:41,819 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]} +22:52:41,851 root INFO Received message from ('127.0.0.1', 51765): {"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]} +22:52:45,441 root INFO Connected with ('127.0.0.1', 51768) +22:52:45,441 root INFO starting client handler thread for client at address ('127.0.0.1', 51768) +22:52:45,442 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]} +22:52:45,443 root INFO user in message None +22:52:46,369 root INFO user logging in +22:52:46,401 root INFO task passed off to gameManager +22:52:46,453 root INFO creating user with id: > +22:52:46,549 root INFO new length of user dictionary: 2 +22:52:46,783 root INFO 2 players have join game starts +22:52:46,867 root INFO game manager is starting the game +22:52:47,205 root INFO connected users 2 +22:52:47,216 root INFO confirming login for user +22:52:47,857 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]} +22:52:47,868 root INFO Received message from ('127.0.0.1', 51768): {"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 new file mode 100644 index 0000000..7370d4a --- /dev/null +++ b/OLD_Server/server logic notes.md @@ -0,0 +1,42 @@ +# 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 From 3b7563c5f155e8523245877fc85f4f09aee0a4bc Mon Sep 17 00:00:00 2001 From: steev Date: Sun, 21 Jan 2024 23:40:56 +0100 Subject: [PATCH 3/4] attempt on fixing placing cards through network --- Client/Classes/Game/Events/GameStart.py | 3 +- .../__pycache__/GameStart.cpython-311.pyc | Bin 1181 -> 1371 bytes Client/Classes/Game/World.py | 7 +- .../Game/__pycache__/World.cpython-311.pyc | Bin 11103 -> 11197 bytes Client/Classes/System/Network/EventHandler.py | 7 +- .../__pycache__/EventHandler.cpython-311.pyc | Bin 3132 -> 2905 bytes OLD_Server/Classes/System/GameManager.py | 3 +- .../__pycache__/GameManager.cpython-311.pyc | Bin 6395 -> 6461 bytes OLD_Server/log/calpwwxt.log | 34 +++++++++ OLD_Server/log/fzvblgun.log | 51 +++++++++++++ OLD_Server/log/hbokqkpm.log | 49 +++++++++++++ OLD_Server/log/mxrdtmmv.log | 35 +++++++++ OLD_Server/log/obhvhvqr.log | 48 +++++++++++++ OLD_Server/log/oclaenwk.log | 68 ++++++++++++++++++ OLD_Server/log/ubnbqlgn.log | 37 ++++++++++ OLD_Server/log/xgoziiuu.log | 33 +++++++++ OLD_Server/log/xwdjdxpk.log | 68 ++++++++++++++++++ OLD_Server/log/yudopqjp.log | 67 +++++++++++++++++ 18 files changed, 502 insertions(+), 8 deletions(-) create mode 100644 OLD_Server/log/calpwwxt.log create mode 100644 OLD_Server/log/fzvblgun.log create mode 100644 OLD_Server/log/hbokqkpm.log create mode 100644 OLD_Server/log/mxrdtmmv.log create mode 100644 OLD_Server/log/obhvhvqr.log create mode 100644 OLD_Server/log/oclaenwk.log create mode 100644 OLD_Server/log/ubnbqlgn.log create mode 100644 OLD_Server/log/xgoziiuu.log create mode 100644 OLD_Server/log/xwdjdxpk.log create mode 100644 OLD_Server/log/yudopqjp.log diff --git a/Client/Classes/Game/Events/GameStart.py b/Client/Classes/Game/Events/GameStart.py index 29b3bff..7181ec1 100644 --- a/Client/Classes/Game/Events/GameStart.py +++ b/Client/Classes/Game/Events/GameStart.py @@ -3,6 +3,7 @@ from Classes.Game.World import World from Classes.Game.Cards.Card import Card from Classes.Game.Player import Player from Classes.System.Components.InputHandler import InputHandler +from Classes.System.Utils.Path import PathUtil # send from the server to tell the player the game starts @@ -12,5 +13,5 @@ def GameStart(world: World, handCards:list, inputHandler:InputHandler, owner:Pla world.setEnemy(opponent) for card in handCards: - world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), f"Assets/Cards/{card}/", inputHandler, owner)) + world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}/"), inputHandler, owner)) \ No newline at end of file diff --git a/Client/Classes/Game/Events/__pycache__/GameStart.cpython-311.pyc b/Client/Classes/Game/Events/__pycache__/GameStart.cpython-311.pyc index 40ebc6038b41a8f777080bb9ebcae9a78fff50e7..babfc56f94035e3ff3a993503d27b3cd19389e44 100644 GIT binary patch delta 578 zcmbQsd7F!OIWI340}y1+S(|!lBCjN4+C+6bU4|649L`*>C@w~Z6!ui66pmEx6wXwR z6s}aZ6z){EG_Dk$7M3WU6vki%P2P!ZhCG^#w>Sb4OEN-BGIJ(wx8vdl8p#aApPxmZ zir9e?w*=EuOB|Dm^K(i|Qb87mP+1FQp;8|i82lNX zn7%+LpqvX+0MHDEAf|98pqzXJND4>-*_@FeHjo5LBS>bDbr4HG1Kj}(xFR7SbxX*3 zvNv;$x1@7UVsUY5v0iXxaY<^f9w;P>^*~;Pc$_6Cv$&)P|Kp&uAP^nw%!y+Z~;wSw290_E delta 383 zcmcc3HJ6ijIWI340}vcgoReBNkyny2YNEQGB3mj`3VSMN3P&nO3TG-?3Rfyy8dnN; z3riGN3S%&XCeOr4h7-@*ae=fl1M%lWlf@Y=7+od@FalMu*09ZHNMW1HJoyHrGNbF{ zKa6^etdq5w3?($#i`aq6i#R|8Cx`%BVXPAt+#DG#D z>EimyoXpA`wTvGa7+Gr>Cz~*<*j(^Sy%3iKA|WWf_(EybMY-xLa@7|(YOZk9TmYjF z%pe^QeV>6wF=%oZ2~NJq+@#HtlUZC+1hQf!LyX9~eONf)oh7Lk2>h2!qfU;-C@`E-n&mApnZVWi9{! diff --git a/Client/Classes/Game/World.py b/Client/Classes/Game/World.py index d5761c1..828e73b 100644 --- a/Client/Classes/Game/World.py +++ b/Client/Classes/Game/World.py @@ -98,22 +98,23 @@ class World(): return self.__PlayerHandCards def getPlayer(self) -> Player: - return self.__player + return self.player def getEnemy(self) -> Player: return self.__enemy def setPlayer(self, player:Player): + print(f"setting player {player}") + self.player = player for label in self.__labels: if label.getName() == "PlayerName": label.setText(player.getName()) - self.player = player def setEnemy(self, player:Player): + self.enemy = 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) diff --git a/Client/Classes/Game/__pycache__/World.cpython-311.pyc b/Client/Classes/Game/__pycache__/World.cpython-311.pyc index acaf9b6a687d36d4114db663971fa6fdda94cd87..0c2a3986508f8345ce154d13af66e4e4a6588425 100644 GIT binary patch delta 801 zcmZ{iL1@!Z7{}jB8y8#B)~Qq0&URgwH3Ovs6;V;@c9dQm^CVhr9Cd5$UemeNIIGM# zvA6HwLi3JP06=3NgFJ$dr`f{jx2k^J75|3B~L`zP6+czs@7S5+Uw z@%8a@WA>$5jqq|~Ig*xS5kwWX4y1x*x}nB4gS+cDn@TSPqGq9plF$)XBt(12Sa|UK zzJYkeOx`va%W;c8VXM+p)SkIIXBM~EMfcib*WCTa*oE{h$&%JQkoE0>q8te1q$$T1 zLnwPm_FDXp4_p4wSp7_nonyKuQw^34)65qqW2Ncrydh%Z7`CI!Ex9D}MbpVAcA?bj znl#KzwqUfnaK*SWXTnS@ohYDHW1keY8Az_}K;ZFS(LX49Q_(kjBFo;oA7b%7_!!fC zwk+*T*$e?o(Re?Fa#EIg>Of;5xxssZok+({Q@$=>m8Am38TYT~1`9(P?@$m&YiIu5Elh4T+ zuoh(il}_fBFJZ|CG2#@JL>aO`+QGnuA=a^$sfK9*Mi!-)RK_Y zijpFJpz!213XW_6Kt=<@WI;t|?i*q<9V|WE9Y9E#i;S?l$Qt3IqDmmUs0u^~fQahJ z&PrO`1wdvo+(ELF=P0Rh-w>4sI*O|U2q&LW+9S{aQr-w6nm|PJjtv zBMl@fgGOw=qj8E+Y6{2(O%S0DBz|$&8BC>u)g_D|aR{hk&SIJz$1KUq4ijNu zs9~POEX7vCRKvW0W%3ecWmj$_ImQ$=NjNu!9f{3RgDS^~kORp~R$&QbnHl zyFq=$2L^^JMn@(f<;3L4^aaH80`a_=0wKI05HEx&8brk~C4&S*m{LHzRHjS_FN^6T z149&JHi!qJfIQwD5C=#C)d9&HJOUjqH+V%RgkRy6T_AmlSLXu*AJAQ!H*kb7G8#-~ zX^ML_K9S8+eIEf-bkY_>BsmWgiij5+j$=zHR8BHd~a!W8;PcGx0Xe!Gn R_<;eF_y`jFf<*#sCID+zc7gx^ delta 780 zcmca9wnu_@IWI340}%Y4xHh$RBX1-VQw8(n45m`k{WZ*4OduH$SilUSQOO#{6c$Oi zPztLg!{m2N5+*1bS>WgLY4tK69&*^I8kLL&tVQ^6rB8y*<4&0rh|bY3mjY^eu?;G8y0m&@y#hL zDvYAJiFt{)m@*1(v1BCXrQBjo%}dR#oIHoMLy6}WYe7+FUP%!LP*afvkhsNOoLb@w z(!dI2coa-FW9wv0pL~E#o>6S_12#1`VNSstJc2zw*Lf5!@hB`1Um^F0-`o=WzS(`G@h))>1iv$D!4)B0|Ssc z5DKPn5=DZb@B#(5CVvqqZ4~KGUcq@$${fT5%YmZ*7l%!5eoARhs$G%Y= 2: self.logger.info("2 players have join game starts") self.startGame(socket) diff --git a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc b/OLD_Server/Classes/System/__pycache__/GameManager.cpython-311.pyc index 240b40b8841b12e0e5578b9aebf0cee4eb50fb0f..34fddbbdc1ff5cd0ba49b6b8d206fe86505c9ece 100644 GIT binary patch delta 344 zcmexuxYvkxIWI340}w2pvo`h5M&5c(MwQ9EoG-ZM#xOB3)H2tya86d_mfAd%OPEQZ zgcGC^0#bNum?vKl7Gqi`*sRI#%E-jVG`T<^UPz8p>>~q^xX7c};V~im1C#9LhXRa@GGApF1jR0hY0Ss~ z5G(p9?mLD!NNE9hc_v;AK6oD(k_)dV+)1gLiVBP&8xCLO6#K{kBrftOc6dz4{=g)& znMaV3k@bTNgP_!8O`#@Hes@l$2Bq8S;hHmix> +23:08:08,892 root INFO new length of user dictionary: 1 +23:08:08,936 root INFO connected users 1 +23:08:09,160 root INFO confirming login for user +23:08:09,661 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]} +23:08:09,693 root INFO Received message from ('127.0.0.1', 52171): {"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]} +23:08:18,274 root INFO Connected with ('127.0.0.1', 52177) +23:08:18,274 root INFO starting client handler thread for client at address ('127.0.0.1', 52177) +23:08:18,275 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]} +23:08:18,275 root INFO user in message None +23:08:19,437 root INFO user logging in +23:08:19,468 root INFO task passed off to gameManager +23:08:19,500 root INFO creating user with id: > +23:08:19,663 root INFO new length of user dictionary: 2 +23:08:19,852 root INFO 2 players have join game starts +23:08:19,991 root INFO game manager is starting the game +23:08:20,297 root INFO connected users 2 +23:08:20,454 root INFO confirming login for user +23:08:20,950 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]} +23:08:20,982 root INFO Received message from ('127.0.0.1', 52177): {"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]} +23:10:25,4 root ERROR Connection with ('127.0.0.1', 52171) forcibly closed by remote host. diff --git a/OLD_Server/log/fzvblgun.log b/OLD_Server/log/fzvblgun.log new file mode 100644 index 0000000..52efee5 --- /dev/null +++ b/OLD_Server/log/fzvblgun.log @@ -0,0 +1,51 @@ +23:35:15,875 root INFO starting up server +23:35:15,875 root INFO starting up game manager +23:35:15,875 root INFO preparing to start server +23:35:15,875 root INFO starting up network manager +23:35:15,875 root INFO starting up network manager +23:35:15,875 root INFO starting up tcp server +23:35:15,876 root INFO starting up thread for client socket accepting +23:35:20,243 root INFO Connected with ('127.0.0.1', 52881) +23:35:20,243 root INFO starting client handler thread for client at address ('127.0.0.1', 52881) +23:35:20,243 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]} +23:35:20,246 root INFO user in message None +23:35:20,246 root INFO user logging in +23:35:20,246 root INFO task passed off to gameManager +23:35:20,246 root INFO creating user with id: > +23:35:20,246 root INFO new length of user dictionary: 1 +23:35:20,246 root INFO connected users 1 +23:35:20,246 root INFO confirming login for user +23:35:20,247 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]} +23:35:20,247 root INFO Received message from ('127.0.0.1', 52881): {"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]} +23:35:25,465 root INFO Connected with ('127.0.0.1', 52887) +23:35:25,465 root INFO starting client handler thread for client at address ('127.0.0.1', 52887) +23:35:25,465 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]} +23:35:25,465 root INFO user in message None +23:35:25,465 root INFO user logging in +23:35:25,465 root INFO task passed off to gameManager +23:35:25,465 root INFO creating user with id: > +23:35:25,465 root INFO new length of user dictionary: 2 +23:35:25,465 root INFO 2 players have join game starts +23:35:25,466 root INFO game manager is starting the game +23:35:25,466 root INFO connected users 2 +23:35:25,466 root INFO confirming login for user +23:35:25,466 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]} +23:35:25,466 root INFO Received message from ('127.0.0.1', 52887): {"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]} +23:36:26,682 root ERROR Connection with ('127.0.0.1', 52887) forcibly closed by remote host. +23:36:27,925 root INFO Connected with ('127.0.0.1', 52921) +23:36:27,925 root INFO starting client handler thread for client at address ('127.0.0.1', 52921) +23:36:27,926 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]} +23:36:27,926 root INFO user in message None +23:36:27,926 root INFO user logging in +23:36:27,926 root INFO task passed off to gameManager +23:36:27,926 root INFO creating user with id: > +23:36:27,926 root INFO new length of user dictionary: 3 +23:36:27,926 root INFO 2 players have join game starts +23:36:27,926 root INFO game manager is starting the game +23:36:27,926 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:36:27,926 root INFO connected users 3 +23:36:27,926 root INFO confirming login for user +23:36:27,926 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]} +23:36:27,926 root INFO Received message from ('127.0.0.1', 52921): {"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]} +23:36:34,685 root ERROR Connection with ('127.0.0.1', 52921) forcibly closed by remote host. +23:36:36,275 root ERROR Connection with ('127.0.0.1', 52881) forcibly closed by remote host. diff --git a/OLD_Server/log/hbokqkpm.log b/OLD_Server/log/hbokqkpm.log new file mode 100644 index 0000000..b8b1191 --- /dev/null +++ b/OLD_Server/log/hbokqkpm.log @@ -0,0 +1,49 @@ +23:16:48,567 root INFO starting up server +23:16:48,567 root INFO starting up game manager +23:16:48,567 root INFO preparing to start server +23:16:48,567 root INFO starting up network manager +23:16:48,567 root INFO starting up network manager +23:16:48,567 root INFO starting up tcp server +23:16:48,568 root INFO starting up thread for client socket accepting +23:16:55,703 root INFO Connected with ('127.0.0.1', 52398) +23:16:55,704 root INFO starting client handler thread for client at address ('127.0.0.1', 52398) +23:16:55,704 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]} +23:16:55,707 root INFO user in message None +23:16:55,707 root INFO user logging in +23:16:55,707 root INFO task passed off to gameManager +23:16:55,707 root INFO creating user with id: > +23:16:55,707 root INFO new length of user dictionary: 1 +23:16:55,707 root INFO connected users 1 +23:16:55,707 root INFO confirming login for user +23:16:55,707 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]} +23:16:55,707 root INFO Received message from ('127.0.0.1', 52398): {"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]} +23:17:04,931 root INFO Connected with ('127.0.0.1', 52410) +23:17:04,931 root INFO starting client handler thread for client at address ('127.0.0.1', 52410) +23:17:04,965 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]} +23:17:04,965 root INFO user in message None +23:17:04,965 root INFO user logging in +23:17:04,965 root INFO task passed off to gameManager +23:17:04,966 root INFO creating user with id: > +23:17:04,966 root INFO new length of user dictionary: 2 +23:17:04,966 root INFO 2 players have join game starts +23:17:04,966 root INFO game manager is starting the game +23:17:04,966 root INFO connected users 2 +23:17:04,966 root INFO confirming login for user +23:17:04,966 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]} +23:17:04,966 root INFO Received message from ('127.0.0.1', 52410): {"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]} +23:17:45,314 root ERROR Connection with ('127.0.0.1', 52410) forcibly closed by remote host. +23:17:49,965 root INFO Connected with ('127.0.0.1', 52433) +23:17:49,965 root INFO starting client handler thread for client at address ('127.0.0.1', 52433) +23:17:50,291 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]} +23:17:50,291 root INFO user in message None +23:17:50,291 root INFO user logging in +23:17:50,291 root INFO task passed off to gameManager +23:17:50,291 root INFO creating user with id: > +23:17:50,291 root INFO new length of user dictionary: 3 +23:17:50,291 root INFO 2 players have join game starts +23:17:50,291 root INFO game manager is starting the game +23:17:50,291 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:17:50,291 root INFO connected users 3 +23:17:50,291 root INFO confirming login for user +23:17:50,292 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]} +23:17:50,292 root INFO Received message from ('127.0.0.1', 52433): {"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/mxrdtmmv.log b/OLD_Server/log/mxrdtmmv.log new file mode 100644 index 0000000..107ad65 --- /dev/null +++ b/OLD_Server/log/mxrdtmmv.log @@ -0,0 +1,35 @@ +23:30:08,625 root INFO starting up server +23:30:08,625 root INFO starting up game manager +23:30:08,625 root INFO preparing to start server +23:30:08,625 root INFO starting up network manager +23:30:08,625 root INFO starting up network manager +23:30:08,625 root INFO starting up tcp server +23:30:08,626 root INFO starting up thread for client socket accepting +23:32:30,46 root INFO Connected with ('127.0.0.1', 52793) +23:32:30,46 root INFO starting client handler thread for client at address ('127.0.0.1', 52793) +23:32:30,47 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]} +23:32:30,48 root INFO user in message None +23:32:30,48 root INFO user logging in +23:32:30,50 root INFO task passed off to gameManager +23:32:30,50 root INFO creating user with id: > +23:32:30,50 root INFO new length of user dictionary: 1 +23:32:30,50 root INFO connected users 1 +23:32:30,50 root INFO confirming login for user +23:32:30,50 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]} +23:32:30,50 root INFO Received message from ('127.0.0.1', 52793): {"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]} +23:32:35,992 root INFO Connected with ('127.0.0.1', 52796) +23:32:35,993 root INFO starting client handler thread for client at address ('127.0.0.1', 52796) +23:32:35,993 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]} +23:32:35,993 root INFO user in message None +23:32:35,993 root INFO user logging in +23:32:35,993 root INFO task passed off to gameManager +23:32:35,993 root INFO creating user with id: > +23:32:35,993 root INFO new length of user dictionary: 2 +23:32:35,993 root INFO 2 players have join game starts +23:32:35,993 root INFO game manager is starting the game +23:32:35,994 root INFO connected users 2 +23:32:35,994 root INFO confirming login for user +23:32:35,994 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]} +23:32:35,994 root INFO Received message from ('127.0.0.1', 52796): {"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]} +23:33:37,927 root ERROR Connection with ('127.0.0.1', 52796) forcibly closed by remote host. +23:33:39,992 root ERROR Connection with ('127.0.0.1', 52793) forcibly closed by remote host. diff --git a/OLD_Server/log/obhvhvqr.log b/OLD_Server/log/obhvhvqr.log new file mode 100644 index 0000000..33b7c55 --- /dev/null +++ b/OLD_Server/log/obhvhvqr.log @@ -0,0 +1,48 @@ +23:11:13,696 root INFO starting up server +23:11:13,696 root INFO starting up game manager +23:11:13,696 root INFO preparing to start server +23:11:13,696 root INFO starting up network manager +23:11:13,696 root INFO starting up network manager +23:11:13,696 root INFO starting up tcp server +23:11:13,697 root INFO starting up thread for client socket accepting +23:11:17,731 root INFO Connected with ('127.0.0.1', 52240) +23:11:17,731 root INFO starting client handler thread for client at address ('127.0.0.1', 52240) +23:11:17,731 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]} +23:11:17,733 root INFO user in message None +23:11:17,733 root INFO user logging in +23:11:17,733 root INFO task passed off to gameManager +23:11:17,733 root INFO creating user with id: > +23:11:17,733 root INFO new length of user dictionary: 1 +23:11:17,733 root INFO connected users 1 +23:11:17,733 root INFO confirming login for user +23:11:17,733 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]} +23:11:17,733 root INFO Received message from ('127.0.0.1', 52240): {"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]} +23:11:59,620 root INFO Connected with ('127.0.0.1', 52270) +23:11:59,620 root INFO starting client handler thread for client at address ('127.0.0.1', 52270) +23:12:00,135 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]} +23:12:00,135 root INFO user in message None +23:12:00,135 root INFO user logging in +23:12:00,135 root INFO task passed off to gameManager +23:12:00,135 root INFO creating user with id: > +23:12:00,136 root INFO new length of user dictionary: 2 +23:12:00,136 root INFO 2 players have join game starts +23:12:00,136 root INFO game manager is starting the game +23:12:00,136 root INFO connected users 2 +23:12:00,136 root INFO confirming login for user +23:12:00,136 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]} +23:12:00,136 root INFO Received message from ('127.0.0.1', 52270): {"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]} +23:13:15,0 root ERROR Connection with ('127.0.0.1', 52270) forcibly closed by remote host. +23:13:18,810 root INFO Connected with ('127.0.0.1', 52306) +23:13:18,810 root INFO starting client handler thread for client at address ('127.0.0.1', 52306) +23:13:19,324 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]} +23:13:19,324 root INFO user in message None +23:13:19,324 root INFO user logging in +23:13:19,324 root INFO task passed off to gameManager +23:13:19,324 root INFO creating user with id: > +23:13:19,324 root INFO new length of user dictionary: 3 +23:13:19,324 root INFO connected users 3 +23:13:19,324 root INFO confirming login for user +23:13:19,324 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]} +23:13:19,324 root INFO Received message from ('127.0.0.1', 52306): {"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]} +23:14:13,515 root ERROR Connection with ('127.0.0.1', 52306) forcibly closed by remote host. +23:15:01,555 root ERROR Connection with ('127.0.0.1', 52240) forcibly closed by remote host. diff --git a/OLD_Server/log/oclaenwk.log b/OLD_Server/log/oclaenwk.log new file mode 100644 index 0000000..5173074 --- /dev/null +++ b/OLD_Server/log/oclaenwk.log @@ -0,0 +1,68 @@ +23:23:44,948 root INFO starting up server +23:23:44,948 root INFO starting up game manager +23:23:44,948 root INFO preparing to start server +23:23:44,948 root INFO starting up network manager +23:23:44,948 root INFO starting up network manager +23:23:44,950 root INFO starting up tcp server +23:23:44,950 root INFO starting up thread for client socket accepting +23:23:49,381 root INFO Connected with ('127.0.0.1', 52585) +23:23:49,382 root INFO starting client handler thread for client at address ('127.0.0.1', 52585) +23:23:49,382 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]} +23:23:49,384 root INFO user in message None +23:23:49,384 root INFO user logging in +23:23:49,384 root INFO task passed off to gameManager +23:23:49,384 root INFO creating user with id: > +23:23:49,384 root INFO new length of user dictionary: 1 +23:23:49,384 root INFO connected users 1 +23:23:49,384 root INFO confirming login for user +23:23:49,385 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]} +23:23:49,385 root INFO Received message from ('127.0.0.1', 52585): {"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]} +23:23:52,883 root INFO Connected with ('127.0.0.1', 52588) +23:23:52,883 root INFO starting client handler thread for client at address ('127.0.0.1', 52588) +23:23:52,884 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]} +23:23:52,884 root INFO user in message None +23:23:52,884 root INFO user logging in +23:23:52,884 root INFO task passed off to gameManager +23:23:52,884 root INFO creating user with id: > +23:23:52,884 root INFO new length of user dictionary: 2 +23:23:52,884 root INFO 2 players have join game starts +23:23:52,884 root INFO game manager is starting the game +23:23:52,884 root INFO connected users 2 +23:23:52,884 root INFO confirming login for user +23:23:52,884 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]} +23:23:52,884 root INFO Received message from ('127.0.0.1', 52588): {"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]} +23:26:10,258 root ERROR Connection with ('127.0.0.1', 52588) forcibly closed by remote host. +23:26:14,591 root ERROR Connection with ('127.0.0.1', 52585) forcibly closed by remote host. +23:26:16,284 root INFO Connected with ('127.0.0.1', 52648) +23:26:16,285 root INFO starting client handler thread for client at address ('127.0.0.1', 52648) +23:26:16,285 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]} +23:26:16,285 root INFO user in message None +23:26:16,285 root INFO user logging in +23:26:16,285 root INFO task passed off to gameManager +23:26:16,285 root INFO creating user with id: > +23:26:16,285 root INFO new length of user dictionary: 3 +23:26:16,285 root INFO 2 players have join game starts +23:26:16,285 root INFO game manager is starting the game +23:26:16,285 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:26:16,286 root INFO connected users 3 +23:26:16,286 root INFO confirming login for user +23:26:16,286 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]} +23:26:16,286 root INFO Received message from ('127.0.0.1', 52648): {"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]} +23:26:23,147 root INFO Connected with ('127.0.0.1', 52651) +23:26:23,147 root INFO starting client handler thread for client at address ('127.0.0.1', 52651) +23:26:23,147 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]} +23:26:23,147 root INFO user in message None +23:26:23,147 root INFO user logging in +23:26:23,147 root INFO task passed off to gameManager +23:26:23,147 root INFO creating user with id: > +23:26:23,147 root INFO new length of user dictionary: 4 +23:26:23,148 root INFO 2 players have join game starts +23:26:23,148 root INFO game manager is starting the game +23:26:23,148 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:26:23,148 root INFO connected users 4 +23:26:23,148 root INFO confirming login for user +23:26:23,148 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]} +23:26:23,148 root INFO Received message from ('127.0.0.1', 52651): {"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]} +23:26:31,768 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 79956, 'x': 1117.0, 'y': 584.0} +23:26:31,768 root INFO user in message 79956 +23:26:31,768 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 79956, 'x': 1117.0, 'y': 584.0} diff --git a/OLD_Server/log/ubnbqlgn.log b/OLD_Server/log/ubnbqlgn.log new file mode 100644 index 0000000..2f1ebb2 --- /dev/null +++ b/OLD_Server/log/ubnbqlgn.log @@ -0,0 +1,37 @@ +23:37:26,357 root INFO starting up server +23:37:26,357 root INFO starting up game manager +23:37:26,357 root INFO preparing to start server +23:37:26,357 root INFO starting up network manager +23:37:26,357 root INFO starting up network manager +23:37:26,357 root INFO starting up tcp server +23:37:26,358 root INFO starting up thread for client socket accepting +23:37:32,685 root INFO Connected with ('127.0.0.1', 52954) +23:37:32,685 root INFO starting client handler thread for client at address ('127.0.0.1', 52954) +23:37:32,685 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]} +23:37:32,686 root INFO user in message None +23:37:32,686 root INFO user logging in +23:37:32,686 root INFO task passed off to gameManager +23:37:32,686 root INFO creating user with id: > +23:37:32,686 root INFO new length of user dictionary: 1 +23:37:32,686 root INFO connected users 1 +23:37:32,686 root INFO confirming login for user +23:37:32,686 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]} +23:37:32,686 root INFO Received message from ('127.0.0.1', 52954): {"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]} +23:37:37,284 root INFO Connected with ('127.0.0.1', 52960) +23:37:37,284 root INFO starting client handler thread for client at address ('127.0.0.1', 52960) +23:37:37,285 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]} +23:37:37,285 root INFO user in message None +23:37:37,285 root INFO user logging in +23:37:37,285 root INFO task passed off to gameManager +23:37:37,285 root INFO creating user with id: > +23:37:37,285 root INFO new length of user dictionary: 2 +23:37:37,285 root INFO 2 players have join game starts +23:37:37,285 root INFO game manager is starting the game +23:37:37,286 root INFO connected users 2 +23:37:37,286 root INFO confirming login for user +23:37:37,286 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]} +23:37:37,286 root INFO Received message from ('127.0.0.1', 52960): {"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]} +23:38:20,374 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 54628, 'x': 1105.0, 'y': 600.0} +23:38:20,375 root INFO user in message 54628 +23:38:20,375 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 54628, 'x': 1105.0, 'y': 600.0} +23:40:40,18 root ERROR Connection with ('127.0.0.1', 52960) forcibly closed by remote host. diff --git a/OLD_Server/log/xgoziiuu.log b/OLD_Server/log/xgoziiuu.log new file mode 100644 index 0000000..a9aecf9 --- /dev/null +++ b/OLD_Server/log/xgoziiuu.log @@ -0,0 +1,33 @@ +23:05:43,273 root INFO starting up server +23:05:43,273 root INFO starting up game manager +23:05:43,274 root INFO preparing to start server +23:05:43,274 root INFO starting up network manager +23:05:43,274 root INFO starting up network manager +23:05:43,274 root INFO starting up tcp server +23:05:43,274 root INFO starting up thread for client socket accepting +23:05:53,367 root INFO Connected with ('127.0.0.1', 52107) +23:05:53,368 root INFO starting client handler thread for client at address ('127.0.0.1', 52107) +23:05:53,370 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]} +23:05:53,372 root INFO user in message None +23:05:55,184 root INFO user logging in +23:05:55,216 root INFO task passed off to gameManager +23:05:55,280 root INFO creating user with id: > +23:05:55,455 root INFO new length of user dictionary: 1 +23:05:55,666 root INFO connected users 1 +23:05:55,698 root INFO confirming login for user +23:05:56,135 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]} +23:05:56,178 root INFO Received message from ('127.0.0.1', 52107): {"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]} +23:05:59,541 root INFO Connected with ('127.0.0.1', 52110) +23:05:59,541 root INFO starting client handler thread for client at address ('127.0.0.1', 52110) +23:05:59,542 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]} +23:05:59,542 root INFO user in message None +23:06:00,450 root INFO user logging in +23:06:00,471 root INFO task passed off to gameManager +23:06:00,534 root INFO creating user with id: > +23:06:00,798 root INFO new length of user dictionary: 2 +23:06:00,913 root INFO 2 players have join game starts +23:06:01,42 root INFO game manager is starting the game +23:06:01,484 root INFO connected users 2 +23:06:01,506 root INFO confirming login for user +23:06:02,77 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]} +23:06:02,130 root INFO Received message from ('127.0.0.1', 52110): {"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/xwdjdxpk.log b/OLD_Server/log/xwdjdxpk.log new file mode 100644 index 0000000..99a5fc3 --- /dev/null +++ b/OLD_Server/log/xwdjdxpk.log @@ -0,0 +1,68 @@ +23:21:38,356 root INFO starting up server +23:21:38,356 root INFO starting up game manager +23:21:38,356 root INFO preparing to start server +23:21:38,356 root INFO starting up network manager +23:21:38,356 root INFO starting up network manager +23:21:38,356 root INFO starting up tcp server +23:21:38,357 root INFO starting up thread for client socket accepting +23:21:44,434 root INFO Connected with ('127.0.0.1', 52527) +23:21:44,434 root INFO starting client handler thread for client at address ('127.0.0.1', 52527) +23:21:44,435 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]} +23:21:44,435 root INFO user in message None +23:21:44,435 root INFO user logging in +23:21:44,435 root INFO task passed off to gameManager +23:21:44,435 root INFO creating user with id: > +23:21:44,435 root INFO new length of user dictionary: 1 +23:21:44,435 root INFO connected users 1 +23:21:44,435 root INFO confirming login for user +23:21:44,435 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]} +23:21:44,435 root INFO Received message from ('127.0.0.1', 52527): {"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]} +23:21:50,371 root INFO Connected with ('127.0.0.1', 52533) +23:21:50,371 root INFO starting client handler thread for client at address ('127.0.0.1', 52533) +23:21:50,371 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]} +23:21:50,371 root INFO user in message None +23:21:50,371 root INFO user logging in +23:21:50,371 root INFO task passed off to gameManager +23:21:50,371 root INFO creating user with id: > +23:21:50,371 root INFO new length of user dictionary: 2 +23:21:50,371 root INFO 2 players have join game starts +23:21:50,371 root INFO game manager is starting the game +23:21:50,372 root INFO connected users 2 +23:21:50,372 root INFO confirming login for user +23:21:50,372 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]} +23:21:50,372 root INFO Received message from ('127.0.0.1', 52533): {"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]} +23:22:54,888 root ERROR Connection with ('127.0.0.1', 52533) forcibly closed by remote host. +23:22:57,833 root INFO Connected with ('127.0.0.1', 52563) +23:22:57,833 root INFO starting client handler thread for client at address ('127.0.0.1', 52563) +23:22:57,833 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]} +23:22:57,833 root INFO user in message None +23:22:57,833 root INFO user logging in +23:22:57,833 root INFO task passed off to gameManager +23:22:57,833 root INFO creating user with id: > +23:22:57,833 root INFO new length of user dictionary: 3 +23:22:57,833 root INFO 2 players have join game starts +23:22:57,833 root INFO game manager is starting the game +23:22:57,833 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:22:57,833 root INFO connected users 3 +23:22:57,833 root INFO confirming login for user +23:22:57,833 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]} +23:22:57,834 root INFO Received message from ('127.0.0.1', 52563): {"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]} +23:23:18,244 root ERROR Connection with ('127.0.0.1', 52527) forcibly closed by remote host. +23:23:19,782 root INFO Connected with ('127.0.0.1', 52572) +23:23:19,782 root INFO starting client handler thread for client at address ('127.0.0.1', 52572) +23:23:19,783 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]} +23:23:19,783 root INFO user in message None +23:23:19,783 root INFO user logging in +23:23:19,783 root INFO task passed off to gameManager +23:23:19,783 root INFO creating user with id: > +23:23:19,783 root INFO new length of user dictionary: 4 +23:23:19,783 root INFO 2 players have join game starts +23:23:19,783 root INFO game manager is starting the game +23:23:19,783 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:23:19,783 root INFO connected users 4 +23:23:19,783 root INFO confirming login for user +23:23:19,783 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]} +23:23:19,783 root INFO Received message from ('127.0.0.1', 52572): {"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]} +23:23:21,105 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 38451, 'x': 1127.0, 'y': 531.0} +23:23:21,106 root INFO user in message 38451 +23:23:21,106 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 38451, 'x': 1127.0, 'y': 531.0} diff --git a/OLD_Server/log/yudopqjp.log b/OLD_Server/log/yudopqjp.log new file mode 100644 index 0000000..479b053 --- /dev/null +++ b/OLD_Server/log/yudopqjp.log @@ -0,0 +1,67 @@ +23:33:49,621 root INFO starting up server +23:33:49,621 root INFO starting up game manager +23:33:49,621 root INFO preparing to start server +23:33:49,621 root INFO starting up network manager +23:33:49,621 root INFO starting up network manager +23:33:49,621 root INFO starting up tcp server +23:33:49,622 root INFO starting up thread for client socket accepting +23:33:54,167 root INFO Connected with ('127.0.0.1', 52836) +23:33:54,167 root INFO starting client handler thread for client at address ('127.0.0.1', 52836) +23:33:54,167 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]} +23:33:54,170 root INFO user in message None +23:33:54,170 root INFO user logging in +23:33:54,170 root INFO task passed off to gameManager +23:33:54,170 root INFO creating user with id: > +23:33:54,170 root INFO new length of user dictionary: 1 +23:33:54,170 root INFO connected users 1 +23:33:54,170 root INFO confirming login for user +23:33:54,170 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]} +23:33:54,170 root INFO Received message from ('127.0.0.1', 52836): {"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]} +23:33:59,531 root INFO Connected with ('127.0.0.1', 52844) +23:33:59,532 root INFO starting client handler thread for client at address ('127.0.0.1', 52844) +23:33:59,532 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]} +23:33:59,532 root INFO user in message None +23:33:59,532 root INFO user logging in +23:33:59,532 root INFO task passed off to gameManager +23:33:59,532 root INFO creating user with id: > +23:33:59,532 root INFO new length of user dictionary: 2 +23:33:59,532 root INFO 2 players have join game starts +23:33:59,532 root INFO game manager is starting the game +23:33:59,532 root INFO connected users 2 +23:33:59,532 root INFO confirming login for user +23:33:59,532 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]} +23:33:59,532 root INFO Received message from ('127.0.0.1', 52844): {"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]} +23:34:41,586 root ERROR Connection with ('127.0.0.1', 52844) forcibly closed by remote host. +23:34:43,778 root ERROR Connection with ('127.0.0.1', 52836) forcibly closed by remote host. +23:34:45,599 root INFO Connected with ('127.0.0.1', 52864) +23:34:45,600 root INFO starting client handler thread for client at address ('127.0.0.1', 52864) +23:34:45,600 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]} +23:34:45,601 root INFO user in message None +23:34:45,601 root INFO user logging in +23:34:45,601 root INFO task passed off to gameManager +23:34:45,601 root INFO creating user with id: > +23:34:45,601 root INFO new length of user dictionary: 3 +23:34:45,601 root INFO 2 players have join game starts +23:34:45,601 root INFO game manager is starting the game +23:34:45,601 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:34:45,602 root INFO connected users 3 +23:34:45,602 root INFO confirming login for user +23:34:45,602 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]} +23:34:45,602 root INFO Received message from ('127.0.0.1', 52864): {"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]} +23:34:52,232 root INFO Connected with ('127.0.0.1', 52870) +23:34:52,232 root INFO starting client handler thread for client at address ('127.0.0.1', 52870) +23:34:52,233 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]} +23:34:52,233 root INFO user in message None +23:34:52,233 root INFO user logging in +23:34:52,233 root INFO task passed off to gameManager +23:34:52,233 root INFO creating user with id: > +23:34:52,233 root INFO new length of user dictionary: 4 +23:34:52,233 root INFO 2 players have join game starts +23:34:52,233 root INFO game manager is starting the game +23:34:52,233 root ERROR failed to start game due to error: object of type 'NoneType' has no len() +23:34:52,233 root INFO connected users 4 +23:34:52,233 root INFO confirming login for user +23:34:52,233 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]} +23:34:52,233 root INFO Received message from ('127.0.0.1', 52870): {"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]} +23:35:06,448 root ERROR Connection with ('127.0.0.1', 52870) forcibly closed by remote host. +23:35:09,441 root ERROR Connection with ('127.0.0.1', 52864) forcibly closed by remote host. From 18dcd6cc42f1f23e221702147a36f650f6aae6ac Mon Sep 17 00:00:00 2001 From: steev Date: Mon, 22 Jan 2024 19:37:54 +0100 Subject: [PATCH 4/4] stabilized login, first successfull stream of cards accross clients --- Client/Classes/Game/Cards/Card.py | 13 ++-- .../Cards/__pycache__/Card.cpython-312.pyc | Bin 5777 -> 6448 bytes .../__pycache__/MonsterCard.cpython-312.pyc | Bin 5506 -> 5521 bytes .../__pycache__/SpellCard.cpython-312.pyc | Bin 4612 -> 4626 bytes .../__pycache__/TrapCard.cpython-312.pyc | Bin 4590 -> 4604 bytes Client/Classes/Game/Events/GameStart.py | 8 +-- Client/Classes/Game/Events/PlaceCard.py | 6 +- .../__pycache__/GameStart.cpython-312.pyc | Bin 1032 -> 1131 bytes .../Events/__pycache__/Login.cpython-312.pyc | Bin 1091 -> 1298 bytes .../__pycache__/PlaceCard.cpython-312.pyc | Bin 1797 -> 1732 bytes Client/Classes/Game/World.py | 15 +++- .../__pycache__/BoardField.cpython-312.pyc | Bin 4938 -> 4944 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 2688 -> 2901 bytes .../Game/__pycache__/World.cpython-312.pyc | Bin 10091 -> 11304 bytes Client/Classes/System/App.py | 27 +++---- .../__pycache__/InputHandler.cpython-312.pyc | Bin 2996 -> 3250 bytes .../__pycache__/Label.cpython-312.pyc | Bin 3603 -> 3635 bytes .../__pycache__/Window.cpython-312.pyc | Bin 3426 -> 3432 bytes Client/Classes/System/GameManager.py | 23 ++++++ Client/Classes/System/Network/TCPClient.py | 29 +++++++- .../__pycache__/TCPClient.cpython-312.pyc | Bin 3142 -> 4518 bytes .../Utils/__pycache__/Path.cpython-312.pyc | Bin 0 -> 668 bytes .../System/__pycache__/App.cpython-312.pyc | Bin 9025 -> 8142 bytes .../Game/__pycache__/Player.cpython-312.pyc | Bin 3265 -> 3301 bytes OLD_Server/Classes/System/GameManager.py | 33 ++++++--- .../Classes/System/Network/NetworkManger.py | 6 -- .../__pycache__/EventHandler.cpython-312.pyc | Bin 1503 -> 1643 bytes .../__pycache__/NetworkManger.cpython-312.pyc | Bin 10000 -> 9866 bytes .../Utils/__pycache__/Path.cpython-312.pyc | Bin 0 -> 676 bytes .../__pycache__/GameManager.cpython-312.pyc | Bin 4142 -> 6291 bytes .../System/__pycache__/Logger.cpython-312.pyc | Bin 1149 -> 1159 bytes .../__pycache__/PlayerManager.cpython-312.pyc | Bin 1739 -> 1749 bytes .../System/__pycache__/Server.cpython-312.pyc | Bin 2281 -> 2291 bytes .../System/__pycache__/World.cpython-312.pyc | Bin 1078 -> 1088 bytes OLD_Server/log/calpwwxt.log | 34 --------- OLD_Server/log/ftosavkt.log | 35 +++++++++ OLD_Server/log/fzvblgun.log | 51 ------------- OLD_Server/log/hbokqkpm.log | 49 ------------- OLD_Server/log/jopxlbza.log | 28 -------- OLD_Server/log/jsrrepta.log | 28 -------- OLD_Server/log/kawhnrji.log | 32 --------- OLD_Server/log/kuketiqt.log | 35 +++++++++ OLD_Server/log/mjlawgym.log | 35 +++++++++ OLD_Server/log/mxrdtmmv.log | 35 --------- OLD_Server/log/ncyhufrr.log | 35 +++++++++ OLD_Server/log/obhvhvqr.log | 48 ------------- OLD_Server/log/oclaenwk.log | 68 ------------------ OLD_Server/log/oiaflmlv.log | 34 +++++++++ OLD_Server/log/olchcxfi.log | 33 --------- OLD_Server/log/ooqpxwpe.log | 41 +++++++++++ OLD_Server/log/ploaokwx.log | 59 --------------- OLD_Server/log/qrgtwasn.log | 35 +++++++++ OLD_Server/log/sxuostca.log | 40 +++++++++++ OLD_Server/log/tmqifhet.log | 23 ------ OLD_Server/log/ubnbqlgn.log | 37 ---------- OLD_Server/log/usujxxks.log | 7 -- OLD_Server/log/votjjlwn.log | 35 --------- OLD_Server/log/wdqxolbm.log | 47 ------------ OLD_Server/log/xgoziiuu.log | 33 --------- OLD_Server/log/xtjfeaau.log | 35 +++++++++ OLD_Server/log/xwdjdxpk.log | 68 ------------------ OLD_Server/log/yudopqjp.log | 67 ----------------- OLD_Server/log/yxojocbd.log | 33 --------- 63 files changed, 441 insertions(+), 859 deletions(-) create mode 100644 Client/Classes/System/GameManager.py create mode 100644 Client/Classes/System/Utils/__pycache__/Path.cpython-312.pyc create mode 100644 OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-312.pyc delete mode 100644 OLD_Server/log/calpwwxt.log create mode 100644 OLD_Server/log/ftosavkt.log delete mode 100644 OLD_Server/log/fzvblgun.log delete mode 100644 OLD_Server/log/hbokqkpm.log delete mode 100644 OLD_Server/log/jopxlbza.log delete mode 100644 OLD_Server/log/jsrrepta.log delete mode 100644 OLD_Server/log/kawhnrji.log create mode 100644 OLD_Server/log/kuketiqt.log create mode 100644 OLD_Server/log/mjlawgym.log delete mode 100644 OLD_Server/log/mxrdtmmv.log create mode 100644 OLD_Server/log/ncyhufrr.log delete mode 100644 OLD_Server/log/obhvhvqr.log delete mode 100644 OLD_Server/log/oclaenwk.log create mode 100644 OLD_Server/log/oiaflmlv.log delete mode 100644 OLD_Server/log/olchcxfi.log create mode 100644 OLD_Server/log/ooqpxwpe.log delete mode 100644 OLD_Server/log/ploaokwx.log create mode 100644 OLD_Server/log/qrgtwasn.log create mode 100644 OLD_Server/log/sxuostca.log delete mode 100644 OLD_Server/log/tmqifhet.log delete mode 100644 OLD_Server/log/ubnbqlgn.log delete mode 100644 OLD_Server/log/usujxxks.log delete mode 100644 OLD_Server/log/votjjlwn.log delete mode 100644 OLD_Server/log/wdqxolbm.log delete mode 100644 OLD_Server/log/xgoziiuu.log create mode 100644 OLD_Server/log/xtjfeaau.log delete mode 100644 OLD_Server/log/xwdjdxpk.log delete mode 100644 OLD_Server/log/yudopqjp.log delete mode 100644 OLD_Server/log/yxojocbd.log diff --git a/Client/Classes/Game/Cards/Card.py b/Client/Classes/Game/Cards/Card.py index 3ef646b..c98e175 100644 --- a/Client/Classes/Game/Cards/Card.py +++ b/Client/Classes/Game/Cards/Card.py @@ -16,10 +16,11 @@ class Card(pygame.sprite.Sprite): __inputHandler: InputHandler __owner:Player __state:str + __dragable:bool = True image:pygame.image rect:pygame.rect - def __init__(self, pos: pygame.Vector2, assetDir: str, inputHandler: InputHandler, owner: Player): + def __init__(self, pos: pygame.Vector2, assetDir: str, inputHandler: InputHandler, owner: Player, dragable:bool=True): if assetDir == "": raise ValueError("Card: imagePath cannot be empty") @@ -49,9 +50,10 @@ class Card(pygame.sprite.Sprite): def update(self): if self.__dragging: - mouse_pos = self.__inputHandler.getMousePos() - self.__pos = mouse_pos - self.rect.center = self.__pos + if self.__dragable: + mouse_pos = self.__inputHandler.getMousePos() + self.__pos = mouse_pos + self.rect.center = self.__pos def attacks(self): return self.__attacks @@ -68,6 +70,9 @@ class Card(pygame.sprite.Sprite): def getDragging(self): return self.__dragging + def getDragable(self): + return self.__dragable + def getOffset(self): return self.__offset diff --git a/Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/Card.cpython-312.pyc index 3e97a3179d5b944e2ffeac541ca4e00d99083993..14a9d06ae7337ee508a4d93045a066e2953aab97 100644 GIT binary patch delta 2681 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 diff --git a/Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/MonsterCard.cpython-312.pyc index 6b648b0c82dc56d768349a6c9203ea5e0120c7cc..0b40c995bec88e1e03b13d1657c44fc9675df87b 100644 GIT binary patch delta 1237 zcmZXS%TE(g6vml$=uA7EX*+#TN?$x|QmaTHMHEm7$RmK&05R4^BDohNLWkTbCd5RI zVd26=$xZwRT%mDcNZjjAP2A|lZd|x_SDPqK7JwmoaiQ@b^NK(@orbPG}E%Fh^CW zDwfhfdHDk&A*lSRkdQQMf)9I+`>B%zs7iFIEy*OfB^CoDwAE15Nf;O;5$arWkS557 zNQ6HUBGV8?AqlLRmZjg8<;g0ls*208^gPSR8X-3mHE+F(Nw z4}|RyCW#M2FN7TsrZ$gcGyJ8aAWJhw*{o2uD>|QvF+c3B>Rc&Tm<)<}5fUQ6-$)5T z=U=6i;Ny}^{6S2I5Me}w-;$G^^CPEA^Co3xX|_V?&C)0}Z&Zx+()woQx=~IWAPeQy zl`>tJ8yPS0S8`Tp+uf6O$B>Fce1NL5Oe-_ShDk3NW^DyJ){X(P4%Uqp_Zrq0)(z8i zK%7pqJRejRg%>X;~k3bJFOiKLh-=IZ+lPH zh6#QAn>X#X63tE&v4kT-Rxqp3Ab$z-2``jk~tVMW-9)~5tr;^sE&eyfz^ZWZL{!s4*<7<8R zP6qPU)z?lUh2c>I-au7cG>lbdowO5^A|imW-dG!|encEGgcwDPAtn*ihyvmwViqxv zxP-WD&AI||2hJNadCr3;Gy8i?FWU@Z9yOuqNq?oB!WS#5fGw?q-kgtW>7+Do7siLlg4oH zpowJe985gGmBh1m6Ql7&uU-fVG`l5 zh3E`~Ef7XX3=C1y3Tz>5z!-@GTS+^x4H}!lnE+=TvDR?DSr%8Y_mtUT7L zu1C};FuH26AphY^3NjD4$fAPw5F(6-V53MhL#sM8!_ZbYbR3wf|7vrSqxlCqWqSU; zLFsn>Ce=5LawR`kDz2AkVPP_x&uW{rz(2XtLdRjvrPwBXI9JBGURc3wc}u7BWxc-G zAlCW;X&bwQ7WXFB3zf32+aOM**btxbt_T@kkw%ik=oHuh{Ot>7gD#+p4FOr4JA4YpdE9D| z{+semzGk(UM`xL0_%jU_cx(IwtZS+HdmIy(HFxJ^&E{3GjM@$iT1Vl%IWsD7)sew$ zFP~Q~cH#E1Ea3QDSTE?)69HZI>U>#_@wY*>-q-i9?@mKs-`PI5&cDl1KB%p(S% zh$F@klZYwAZNxOW53zt)L@b$Oav=9%zcDk!--HHS>a$xf2ET|ZKMMU)%)A4N pX*cUckIKJ>r_)K4DFoJ-hNzDKRdbDPmdRF;UT1_qj9d}1@)v)q0u%rM diff --git a/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-312.pyc index 90a425e01b13278829e25b30847d10fe73aee0c4..390039533360d3363e7bbf072ba450c76be21c2f 100644 GIT binary patch delta 979 zcmZXR&rcIU6vvtF+8^6)e?n;s{gJR}Y9O>}tcWNgRALPAPz*_JY-(o;#L}&^3rR2P zfrE($6XxWZ#H0rgh6`7(a#K$|>Y0CllkaUSw6cfKzP|UFZ)au?v_nljRaIpKoqS;ZX19S|gK^g{z=s0kcMu1~93JlX2bHb_#Fvsa6#*1B>LyGkN$^)YW zjH2yiIwjh+Lx;Ukud|wYtVkUx>4QCW)tcViXWXn*8?EhX*SW>a3I~Pz#Sc4M4}imi zh!EN`t(sNi8k8w~&WkGxc4uLIIHeiNfzyZWBNDlOeGY*s#>5vMLjW<^$c5Sv4ja0k3P#9Ckw zv_Sfx+yd#FGEe5jxsveYp?@*d+$+6dq@Un~DIZc!+=ZSJM+MUHdk!i1J0pso%s>=) z?*BdU%X4Q~aa~bfsJQ_Jj^w?f{8lyhJa%UhQzGEaByekd3DCbTJ_YsVMOC~DcFUf= zw3i3$=^^{fn}~cspJBrLH%67a(KPI)o1^>$}FW z${}te?jr6XGKhzW0%8sE81V$L4(RlcJ%bJVKZu%t-5GuN=zZ>|92F=2Pf6>vI8VEH x0$yFa*>3GLx449BVxkqurYEqRL|8!^SXt{Z{M@;?tJA#(yU#bp_ds68$zP*z$qE1f delta 933 zcmZvay>HV%6u@(_YsYbH$4Q#6=A$YG6t(K78c5(*lr3sAX~#=L zkO@*-d?$&8FvK>EKs7|ifngd2MraH;PUFBRO)wwKN`e`q6WHDl!xRkTz12j?tBxhw znOs)1y(br8>4QW}@kvP&OLP@B8HDfRHX;P*%Cve|ZH+-ViO*F@RMc4TQKPokV3jAu zt>;_SI;)5`>TQy`_^1-EW8vJJfSi}-u!UA{9<^9yzu9Ve-9CI;eA5`25e5Hxau!X( zRd}5dcS4Jx1=6X18Kn2dT{0_tdM2<8`Rn4MUhEa){SH2;@)6}yzu!~Rs6cnTmk|ZW zbD|oU?|GTNr~k+6YP*715%DXK9ahk=4x=#kHM*y*^|+Blb@-58rUzwm2l>4G-ELTe$giYvWY{^85w@cF zXf|uyJqj6V9A#{ z-h93EMNWy!;Az&~E!J}yPs6LL9JcrO8oOM=ISKL7UdSaeoItpZ9%JOr!{%4M)q0a2 P)z}(;D!$rz87sd5k+ZUM diff --git a/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc b/Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-312.pyc index 7fb7dd7234903ab6a2e6cb85a42c7bd1899d81ab..fcfff05f0a17a716cca7d7b4b6363abb7b05511a 100644 GIT binary patch delta 973 zcmZXSOK%cU6o5O-IKaR#JX#906b!WqDJizvT1nG~#a5%lMC&7nA?Upz5g2-BYJx6w z(S?aIF78IRHZHm_@wGJZ2Xv_$*}8I}D_4yR&lze9b{5~9Ip@1)?(0|LPeR>MRizJ} z?^|!^jd$uz!RgGqs7NKE@O2?7xcGA+YIo0pLR7vW1V@R7ibSJIStj01Deob^&Az-w z{8TL4NB}Zk;^#kw@MJ&4J~9ARKM4W@WDwX-LcjqM1_nulI$+cgn1f^(+w;23E`~b4 zazkkZO5s*48RsqAQ@eb&T&8!-52E;9jA<~ZwxdGLqEUT7+p5m0m1?6@vp$)Zf0eK0 zeBdxYB7n9;N@mG80%07V-OJ0F!c~JZqj1Hf^nM{rjeDlvEHqo@UA+<4A-vS6RU5Rp zw!B*4>-I4ry7j_t8}(w#1R!Z+N$l*b>l+3wHg&_WS?$?4|Kub>iXT-LBNJ!}%nq+@ z!5Ux)Xo2)lISJBRWmcHrKa{9@8uI%^zw1n=7~1RLfGX=zUc0g#C5j4k$K&i#@H@>H z-07}X;JNR53w{^YNS-XTu zYyNnXn02I4jHVDXhztVnK1(B(5Lv_u;ymI4A_v%p6=OV(kpF?_yg5hs@ye4EU!*X9 z<$W2mB&;W$Yy@6y*=#kdjS3TSOoZoslgS|rhY?nzHH`L~?>gq{I@zevd3K$D^vy_E F`3u>Q$Pxem delta 948 zcmZXRJxo(k6o7l%M}J=X`uYQL{X%^X*;*(E^2%r9e4N3F4|vr@C6 z>t>@dpA?@QluU^kc{!X!lW-e+4v4WpCuo86LY@WbSY9AW@mtnhvyeY4#+)nNV(_$s z9jd%fIdZOc6%7^Wjt|wR;Cx!-Tr)kbz;piZi7&2&e#LP?$tzcT6gZM{LHVYP`R6e^ z1?bo*FIOtt^@@n8$r0QlzX>?KHogY&`GpnSi&k94$AzX|>DuWYd%Vy7;huxNoQW$v zB0l(e+Z`2;{zkpM7lJ&GBk-0w(xXPB+Pw$~lg44(7#Z&y#VCcCLo6b0Af^$^hz#Nm z;x6JIVjXbMJwBhrg!Lc9rYC2QJX?Ey?W+_KA3U!|jniU1;ous4I@VUZ3Ae>9xF#eX jdsB%ph7p9(Xagf-9X3C)FVz}!x5{quy!hyym$32|*@nE4 diff --git a/Client/Classes/Game/Events/GameStart.py b/Client/Classes/Game/Events/GameStart.py index 7181ec1..c6c6a27 100644 --- a/Client/Classes/Game/Events/GameStart.py +++ b/Client/Classes/Game/Events/GameStart.py @@ -8,10 +8,10 @@ from Classes.System.Utils.Path import PathUtil # 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, owner:Player, opponent:Player): +def GameStart(world: World, handCards:list, inputHandler:InputHandler, owner:Player): index:int = 0 - world.setEnemy(opponent) for card in handCards: - world.AddToPlayerHand(Card(pygame.Vector2(500 + (index + 100), 1050), PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}/"), inputHandler, owner)) - \ No newline at end of file + #world.AddToPlayerHand(Card(pygame.Vector2(500 + (index * 100), 1050), PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}/"), inputHandler, Player(1000, 0, "test"), dragable=True)) + world.spawnCard(PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}"), pygame.Vector2(500 + (index * 100), 1050), inputHandler, world.getPlayer()) + index=index+1 \ No newline at end of file diff --git a/Client/Classes/Game/Events/PlaceCard.py b/Client/Classes/Game/Events/PlaceCard.py index 4b2a39a..5d72646 100644 --- a/Client/Classes/Game/Events/PlaceCard.py +++ b/Client/Classes/Game/Events/PlaceCard.py @@ -2,6 +2,7 @@ import pygame from Classes.Game.World import World from Classes.System.Components.InputHandler import InputHandler from Classes.Game.Cards.Card import Card +from Classes.System.Utils.Path import PathUtil # the event the client sends to the server when it places a card def PlaceCard(tcpClient, card:Card, player): @@ -22,9 +23,10 @@ def PlaceCard(tcpClient, card:Card, player): 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): +def CardPlaced(world:World, card:int, owner:str, pos:pygame.Vector2, inputHandler:InputHandler): # todo: make this work with all cardtypes - world.spawnCard(f"Assets/Cards/{card}/", pos, inputHandler, owner) + print("placing enemy card") + world.spawnEnemyCard(PathUtil.getAbsolutePathTo(f"Assets/Cards/{card}"), pos, inputHandler, owner) 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/Client/Classes/Game/Events/__pycache__/GameStart.cpython-312.pyc b/Client/Classes/Game/Events/__pycache__/GameStart.cpython-312.pyc index 8048845a3f9487984ce14fd6114e91cbb63fb53b..5d19205480f28e71ba3767860bee35eb9d63597b 100644 GIT binary patch delta 709 zcmeC+c+H`HnwOW00SKav*QKU2GcY^`abSQ0%J`fxQQc0NA%!i6GnXrhi;*FPJ(Vei zBb7UaGnFHSE0rycBZa$#C5mTagDHjBPfzQj< zQdp{385pX73Q|~CGeH#AFaeF?hOm*z)lklAsFN5Ofcn`$dTUvFqFER!88q4bia>@` z@j4b4r;tCJux@+7JFD~a!G!X(JfA(nt+_d%G4rFw#kA_N<3^poeE&^ zD`c_*lekzxWl2VUowrW9!wmt!2G<7y zlAjouS;ab79&qsX^LO&k;kYhgbWy@+L+k;Q18NtHJugdmopC$wchc`dblioc^b1+J z7n5=?M(159D7oxY`hkI=g3*NuNVze2Gkph9p-dkk)MpSC&h!Nsa}i88_=JTgICiFY zvVLR-+6R;ah63+oKIRs0N#~qIV1O0t1y>fAq~_{@BEMJ<6aS~y delta 687 zcmZ8eO=uHA6rS0?Oj3fa(u(#6wbGbVp#C6I6G|HDL1MwSNZGW;%ow7{ZkX8?5;vxT zU=AJ{a_GSy6ad1Ys}Hu#afBeYoeLvf!&$&R0JM$}TeV zdD9?2y z=$~YaSS%DxQp`ea7z(N`;*pp^as~I$B*wGmOg32{^yHPKfvJ#pwR|C+%n{c!Pg0gi z$Aca!Caq0Kr_PDZi7wjl=p}uQ5z6%I79lJ86k&HQGp}DWvKfOc%|@s7X|A(WTbIt3 z2Y8`)Pj-`=RnX||Ta7go@1yvG_}azK%Fy@TV}AftOR%CekpC+h-a^Aq@v953!!N_{ zMmPF5kGvn;8jo#S+oM;VnS`@=%Soi16n5goNi%1;xIJ?33$lO9LSu*b0Kp#G$H_e$ z%_dnbEf-dlY=&7>O!5ZMqnv0zH*GYLGx2hkgy{%(#YeIzH!T@L_zn1*;B*t5X@apP gh_rkvEWx$877+XbcX?x|%OB>u>@4ElPC}>2U(Q6PEC2ui diff --git a/Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc b/Client/Classes/Game/Events/__pycache__/Login.cpython-312.pyc index f293a042572b3158988e1e537c32590d28f1d597..11bdf15c1f1b458a629057a807420d7915ae410c 100644 GIT binary patch literal 1298 zcmds1&1(};5PvWGnc6h{0xPYsN)-dP$5urYno1Nj7C#U|K$d+kahuI9c}V{n6L~>;gllNB zH5y_B)$mf&icu9MlysmtUfy;CwG>uJ3~dWP)Bj(VkOGBPsOtxMnN#MPMH}@#5vp0Q8E7@_%3%*y%ma6_e&ow+y zue*-z(z~~ksca(&2$OTlvneQ+y(EhB>{T)M;ZikFLXCAoeld1#0Gmczorl+Y2ZGMR zPfd=i)2VtpQaYZdAE#f8uFCy85Q74(NI5t2G*BK0pje{CJ&J-7!s8_SdAXpEu=E7NA9E}}lkM)C1 z1oF$krqPBRU2Zd0PLU*vE`04EBe_rJ@!2QEWV)5 z-(T!n9DO_T>f(pgr}2;1zV(f*>PglG$r8~(p5&f*kk!0^W_J@i!vZ_Q;SYg{sRum= z94(g!kpz&oEkA7Z9SSpt7unU%7d=vT=mmBhk_b@n)4=Ky#&{haT1T->G`NXQ{?au( VQ18|7IG!J@BOw>*?@)%>{s7iXAg2HT literal 1091 zcmds0&ubGw6rS1NsY#7(!HQLLsD%a1u>}!5LxUwBd|$kc-1skcZx_2ipLTiSoYfqn0rnYVA=`{tXkrP3IJF?at1{bC^W zTTM;|%=H*9f!jd@5zJ6?ZaN=Lgbtjif03!Dkxa2^a4 zhl$aKB0geby*FRuK3YE;J^Bar@#o`JjB@1L4QaEa-HD}>>cjlohiacIPX1Hlo6@Em zz_s*xg7P?wsI&-eb%AnA(3toJcc6XgreV&KkO(D%O6BNL?N0Cv{t&@(M(IZIfQoLG zq`{Mzbz-`@QmY4bNVYn& zW@Neh$F(jxoAp5v+2ijTZyMVRd)Cz<#6VRM6(VfYb6QY3&|0_!UmpIo%iHP_ zD#wgfmvfQPsM?^}i-dQpr;mfH7UjfAm?FEX9}8D+K~A3A7(E_t!;Yp|SN93&qjmL1 z-rXo6Jx1^G8xW-05{kZoi80qu*#k5;@LW8zy*NbR22&=!zB~IDfz#Rk E0s0~EKL7v# diff --git a/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc b/Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-312.pyc index d5ef877e699436b563b1ddf162910a280ca3d69f..840027ce348415fcfc5d1fb86436fb3fba2e73e8 100644 GIT binary patch literal 1732 zcmah}O=u)V6t3#7?)k~g}+?XA9!@7eoD@GJVlywqf6l2&VYcdYeajKG?*wfu~ zbrO3SA%Y;{!7O`-;tG3Q2`usCHG-hvB|(>jlAQG7Z6u!dzeHzx|p3Ecm zbU)%fa%FfAaAhKz>-`IlnaojTz3l}K2auX@{gv>wvdbM2z?>Dz0ltqZG8lgzuCq0`Ho$l_ge%8wNPOVgnctEEvP zKL|a)!gt(y@Llmk8dV#C2yw?q;92dXAXMKG(o!ei}}yyKY!<-1^!OQy6yGxMjx>< zpH6-}x$(jScJ2tsh_cqOla%GHxo|nt_oPZy+j^?fuAdD%bmzDLHc5EWHJqO60gC-c zzl0||%gE9(xKXEHlW&X`OWmxqy0L{NhSAjcW*=%?b(gZj6}2dfV&6<(g))Zn3YJY? z0o^P=sJfxbNWZ-1j^RQK1$e0H1% z`mY0T{5-vTZDIF4@qjG`1F$dX0;6ot;Zsm`+ZAizE1h42t~VB96FZ$weoJz(ww#gU zIPr^!hSBKkkw<6W%0Ka@w<@?U##0bG50Ad$Iyqo*olve@*?zPH9jW@7{h7!9%L*9l;0)j%uSq{82o%%d(^E#3CY zL@`Yn!iRTVR6;L!Ru@0OD+HI&=u)CW592S@Jig+HmxE_uip?p%0@E-lrN5K(AsId- zuN;!gha}&yyXoMU{D^>S44ZU`Zp=0a`n!)E`+J3BzkU7th3^)QG3a-s7d4WUCN{x%)XlRWo@=GZMC?d30SQlMX8&b7U{NPEIT(f>FmsKXPR_n zQ&K2sDbkdFq~L>muI6VyBM9o30YNq)(&b9O{PJ%#e&x$^Zg-P4P3wg@uX|o|9`~0- zB1+&~d-rR0Lnq`9WZEa$BG$hJVxHK$+IZZK-PCf{V>a<8*d(4HM_)-h3BICbn%?y%hRLR>&_D3F zV*?RC>-ty2GX>Xn7%wVYX%GWw6~6Uf0l-hv3Z0}K_bqanT}4@JsaE3~le zGeNHjT2326zs$n3gCYWG1my-07rcPuba0F$w1ByGS`}7U^fS%`IO3R{i1>xF;}z@x z>(bZPw~@`fk-r!)9^{8Z#-{RvEVvSSe*V1cOt@@pBr}vBDwNpRBPaQcQwRbUNLl_g zCK%)|VA2`LvfnQYYm?)9AOsdMI0ImoG?Sz|)#%zgAH5sB7e^v~H-0bKNOa%1bnDXX z5ATfK8v76PSIpRD%nmiXh@Sj3dm}sd`fpm#I`|?&pT<#mA1I zf30=j<1i_@)l86Ra;|69 zdZeCOF;n+vsw35RYKQBGUab|EPA>0TGtZ;CiRuwlKe%f3Nbfx>X3zanb+CG()?H5> zuMID~w5+e0Sx|3iCf|#h8lGdr)(FF8(}0T+5OyB<&|u5waXo4F8 Card: + pos.y = (self.__cardHeight + 45) + + card = Card(pos, asset, inputHandler, self.enemy, dragable=False) + self.__cards.add(card) + + print(f"new card collection {self.__cards}") + return card + def spawnCards(self, cards:pygame.sprite.Group): for card in cards: self.__cards.add(card) diff --git a/Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc b/Client/Classes/Game/__pycache__/BoardField.cpython-312.pyc index 690b53acd5c86ca02a65e930c6d4ea80e03d57f0..a854e6cefbd5f205c8623ef22e7550383d694511 100644 GIT binary patch delta 72 zcmX@5c0rB%G%qg~0}wo3ymlk^1U5ZCXRDad;?$zznBbDs)Up_t)Z*-t{DPQ*%94!y ZJcWE9(?2gKGcPqh#MwP&^I^7j9srg?8an_0 delta 66 zcmcbhc1n%=G%qg~0}xa@%-hI4flb51*(xTqIJKxaCb%RuwJgRZwK%&ZzaYjxFDElE UH9o}IJ;psTH#L6qNw#(#0LgL|$N&HU diff --git a/Client/Classes/Game/__pycache__/Player.cpython-312.pyc b/Client/Classes/Game/__pycache__/Player.cpython-312.pyc index ab0480619ecba378371550c030f38b1239fe8eae..57008983392e45470c0d5d093f30cb2c66166856 100644 GIT binary patch delta 1180 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 delta 2833 zcmb7GTWnj$5xsj!UR{b$k>dMJN}?#sj|zbkCvn`^Qe?o5Y{ix=%aUkHd!;CrNcvvN z4kfB_YqhWo2eG<9Yb0nJpe<^{ANlZ4zKZ-5Fq%Fn$b|&f4cf0Fa8W3g(IR$VGfV2_ zC zm`d%c7*6NZDOz!+d7n;?<}xaMWm1`e$y!E;eWGFuJLWdP)ZB zWe?29j4m1|Nz_Y&>=SdhDMTB4KUWi@ei9Kojlhlm93HFK0CpCenCGP&mb%*HWd#&v6 z9yfd6BeP$74)3{iPhJl7-j`qdvus|G{Y$ccMUE}Wv7fcwI{RVrqy6`uEBEEf7mCaA z+57Sw`-|7fro6JNJalnQ5Q^lmxGo5ZBjO`LFm|#ZdHv?{=?i6TZaH4MFVBN}AXy%H z6I|y=CwJ}QuCIuXB*Ediae;Z)1*0)7UVWMU#Mi{m`W_sZC{GrEaEbJa(47=dBV#~3 zi`|eog0l>WY4J0(rE!!zhbBvgJ@H3ge7!uNlqW6#vp{-qf)nB?H1~-E*qwoSfYK)p z;RGk3!wH7@1S2p(`~a|3pv{ou$nF*U(AF=W!EUhX-!Bd$yB9iSk8pOHWdn)BNzIsKJgKoWZT#@K^~( zJf}dhZU(q4tlFIK%wL-?%R!hG8N8r&For|TzSB4b-eH`vVv8)`>PoVOzp6F!)#f>2$v4aFT^p=iiGj@l{i1pwDRKd9_)u@L)3(8b#0CZc1D#BZhK zd@Fw8>zl^%OxUJ*+sA^!T z7^X6#%9MtrXcTr8bw*7oRBwt|8-LdJY$_(ft{nonEUkGK ze)=pHK}DCLG$mEnU&1Np5x$A=7TWb=@O*3dB*E8!24!w;ijW!B-qb;oYE|04RIB z`oc?cctwsc$?^A}`Gef5Cc)GLG12AI#{jAqAQfYuC(pcvC#j;F%oeu&4QN511i~l+ zMVLUqO;pb#WD)WRDnb!q4&fNWQ3M$QvsJGkd>7#=z-=gKl=-#Zga=$jFu_mD5<&Qm zu)ops=au8DX2+Et_PDj(XmP$Xa&2T;A7Fb^M@gE!nHp^m-Q2$}5JPB9B8K42 z7L_XP@m#H2h0nASCq zG4|@kI$Onr7N-^!#{`$8rk2IHq!wqFnR%)4A-_2$`PDD;YhK{c1RHyctthpmbaNn+ z12d!G=1HujjI2chKpm6$*zFmWHv6$JWfV{Y@{80#ga(MvoXpJG%BViMlXD&;|6~m= z3w=S5upEd`1Q8%l6e)uURUmPTIWw>17E4ZMaY+#~NYHe07ndUAlF4hhWcWWaF|ulX gW@ca$`T$~0KFoEB(ROklwDPM}Iw>?%{(Qn^ytftVwe8)zC&8dnM@l1|=AE=}%RJf3+4lZ_cWG{T*& zVnT~ki;81{OHxzIVq8*-vrF;|V*K-RGV@a7L!8}X+!J$C<0rpltk`VC?8eNM3 zl#%@wYi@pNaq8sH?DmYZn~gb^G76{w9bBXeBGf>H`s5d!t&B>O^SI_Q@=fODw$PFW z3Cn>94iKRLB9wu|E#}O;l3Oe}nZ+eV%pgJI$tB#15)**T7KR6`f*+X}Sv5X0Gq4GL d0I?-{sR>N4s5YIPxEsGQ*|Kt-aK}-%CPD%g( delta 206 zcmdliGg*fBG%qg~0}!a$&r2=Y$a{l{@!aNTOy?OVA7&9^gnUcLal} p18K+e4(5TG7orm&bavinkm3&_laqN5^J+7id}06+Man=A000&}KY0KE diff --git a/Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc b/Client/Classes/System/Components/__pycache__/Window.cpython-312.pyc index 3ffb5fcfd857019970c05e32bfe454cd19349bd0..fb9b74b531f51a97a819a632a15cfd43c4370cfb 100644 GIT binary patch delta 54 zcmaDP^+JmKG%qg~0}wo3ymlk^K^DgF$!A%_#R@7*GV=2j^79K~{PS`$^HSqOoZVwK Je__ev008`36CnTq delta 48 zcmaDM^+<~QG%qg~0}w3nnzxbrAPZyQ Player: + return self.player + + def getEnemy(self) -> Player: + return self.enemy + + def setPlayer(self, player:Player): + self.player = player + + def setEnemy(self, enemy:Player): + self.enemy = enemy \ No newline at end of file diff --git a/Client/Classes/System/Network/TCPClient.py b/Client/Classes/System/Network/TCPClient.py index c1d7354..dcaf1b0 100644 --- a/Client/Classes/System/Network/TCPClient.py +++ b/Client/Classes/System/Network/TCPClient.py @@ -2,16 +2,20 @@ import json import socket import threading -from Classes.System.Network.EventHandler import TCPEventHandler +import pygame + from Classes.Game.World import World from Classes.System.Components.InputHandler import InputHandler +from Classes.Game.Events.GameStart import GameStart +from Classes.Game.Events.Login import LoginResponse +from Classes.Game.Events.PlaceCard import CardPlaced +from Classes.Game.Player import Player class TCPClient: 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.eventHandler = TCPEventHandler(self.tcpSocket) self.world = world self.inputHandler = inputHandler @@ -35,11 +39,30 @@ class TCPClient: data = self.tcpSocket.recv(1024) if data: decoded_data = json.loads(data.decode()) - self.eventHandler.handleEvents(decoded_data, self.inputHandler, self.world) + self.handleEvents(decoded_data) except Exception as e: print(f"Error receiving TCP data: {e}") break + def handleEvents(self, message): + print(message) + if message["event"] == "loginresponse": + if message["status"] != "success": + print("login failed") + else: + print("receiving login confirmation from server") + self.world.setPlayer(Player(0,0,message["name"], message["id"])) + elif message["event"] == "startgame": + print(self.world.player) + # world.player.setMana(message["player"]["mana"]) + # world.player.setHp(message["player"]["hp"]) + self.world.setEnemy(Player(message["enemy"]["hp"],0,message["enemy"]["name"], message["enemy"]["id"])) + GameStart(self.world, message["player"]["hand"], self.inputHandler, self.world.getPlayer()) + pass + elif message["event"] == "PlacedCard": + CardPlaced(self.world, message["card"], message["owner"], pygame.Vector2(message["x"], message["y"]), self.inputHandler) + pass + def listen(self): tcpThread = threading.Thread(target=self.receive) tcpThread.daemon = True diff --git a/Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc b/Client/Classes/System/Network/__pycache__/TCPClient.cpython-312.pyc index 1471f32dfc9f4ff3e3e84e1774937e3cafc00bf7..e36cb61159c335f6700fcb86753e0e0981cc5901 100644 GIT binary patch literal 4518 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 diff --git a/Client/Classes/System/Utils/__pycache__/Path.cpython-312.pyc b/Client/Classes/System/Utils/__pycache__/Path.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c08f6e0f9b8a1bf1e65415fefb3961b456c33802 GIT binary patch literal 668 zcmZWl&r2IY6n->q>{XoD_d6zu+LmJ3gjTk#<6ZVdnv@;9{ndf89j6Y4GmQgC4hm1boJ;lv zI!JGas+-{PdS|j0HB@ZhdQQd@lesN=e=^)LL_DTR$WTY+aidlZwvEyz*tAN04n8RJ z$tJC!mD>Fzt|Um;$iEubJwPVzrN1sMFsH5r<7BL^dTvGm-6x z__Pp*?Jyc<9AmYf#)ccvB?SGF4E^)K5HYXObfL#tVfnh;1B7qo2ZFqVYCNusqaHm+ jY%KOze3!qyqRW_|Z!}cVa~Na4;l;lR&X(^1&7kK$2(g@c literal 0 HcmV?d00001 diff --git a/Client/Classes/System/__pycache__/App.cpython-312.pyc b/Client/Classes/System/__pycache__/App.cpython-312.pyc index 92bec224a9afcb9760aef97e67dcf2bed2b498c2..115522b0cf0c53d03b372cf676a3d2b2ff6c6662 100644 GIT binary patch delta 3896 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 McnS)ERzKN)0Rt<8 diff --git a/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc b/OLD_Server/Classes/Game/__pycache__/Player.cpython-312.pyc index 2da2dbac598e88b67ae05002c0423b4ca7d6b69f..b664838dced4efc256c784c4b83f6a3395578a23 100644 GIT binary patch delta 352 zcmX>o`BakkG%qg~0}wo3yf)QzBkwcDhz1~UIztU}4MRLg0t{+cfILPxj}gdYg7MNB zfIMaxuZ9W8V}bEXxM8d;p2@aMij3@&~LW@(2ierLH zQd7%fTvCg(OY#e13Mxx7^79n(flU9roXot`_z-9J7=Is^_{krcY(*@9CNwbI5E1KO z>EXN~CIzIpCtEY$V-%Sz#WICaeDZphCN?RMHS&{Bv$;&JX4PbroxGHF4x_?kC$?rr z<;lm`${5uq+p@PXYEC}HK9^BvastOqMuW*4xuhnCa5gcTOuo)}lhJ(hMlLo+MK)I5 p8O|RVfYgE%Ftwr>OzlYi3=;e#F!=`e9bQvLg-;AXqDTyAF#tCtSPTFF delta 297 zcmaDVc~Fw~G%qg~0}!a$&r6lu$oq`Zs|d)O&QQZ#!w?UW0D~GvAdeBoOJ@M`m|(mb zCLoU)#w+23v9h=(dow9AvQ5rql3->pVw>E{VfPY?2W?pK1h_ic)dtz>? z!el;XTV6w;#s-EPB4QmZJ)D!{neQ@AEMlb^BAWz?SB!f}&Pe{vk>97f~Gzd3I*ngQ8T ylizc_QDkM+o#Fg}0Z1)K0aGiA!PJiA&mh51e3Soh-{Cc3RQSXIB#Oj<_5uKn!bsHs diff --git a/OLD_Server/Classes/System/GameManager.py b/OLD_Server/Classes/System/GameManager.py index 6aecb4a..3930a80 100644 --- a/OLD_Server/Classes/System/GameManager.py +++ b/OLD_Server/Classes/System/GameManager.py @@ -1,5 +1,6 @@ import json import socket +import time from Classes.Game.Player import Player @@ -24,7 +25,7 @@ class GameManager: # card management def spawnCard(self, card, owner, x, y): - self.logger("spawning card") + # self.logger.info("spawning card") self.__cards.append(card) @@ -37,9 +38,12 @@ class GameManager: } for userAddr in self.__players.keys(): - 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()) + 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 @@ -64,7 +68,7 @@ class GameManager: # 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): + def startGame(self): self.__state = "running" players = list(self.__players.values()) @@ -97,11 +101,11 @@ class GameManager: }, } - print(f"user {userAddr}") - tcpSocket.send(json.dumps(payload).encode()) + 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 + pass # handles notifying all players that the game starts pass @@ -130,9 +134,20 @@ class GameManager: } 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(socket) + self.startGame() return self.__players \ No newline at end of file diff --git a/OLD_Server/Classes/System/Network/NetworkManger.py b/OLD_Server/Classes/System/Network/NetworkManger.py index a08faa6..29c1a1c 100644 --- a/OLD_Server/Classes/System/Network/NetworkManger.py +++ b/OLD_Server/Classes/System/Network/NetworkManger.py @@ -90,12 +90,6 @@ class NetworkManager: 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", - "id": user[client_address]["player"].getID(), - "name": user[client_address]["player"].getName() - }, client_address) self.__eventHandler[client_address].handleTCPEvents(messageJson, self.__gameManager, client_address) self.__gameManager.getLogger().info(f"Received message from {client_address}: {message}") diff --git a/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc b/OLD_Server/Classes/System/Network/__pycache__/EventHandler.cpython-312.pyc index fc97bd5e938289e59a673294dae3d6d2b004b7fe..5f66d8b9aef256e00b40eb55ce5ed16c67425f1c 100644 GIT binary patch delta 406 zcmcc5{hEjGG%qg~0}wo3yf#&kWg}lWqfwl*RZM7cYEf}aa7k)vS&U0+adt_5K}>lIq;}So)m$8|f9cT(O5Pue8oGi^0?x>zqI3q(C5!{ozE>XX};_!zk+H!=w`a)U`85XsA%t--)h#K_4| z$)L$M`6H9GbU{vHa%ys7QOYeA2w4jB!7av$Ta1;HMVX^ynQw8Xr6sjSu*p| z@^5h#7bKSFIRo`fZe)&UygT_Jv!Sy1bsoiwJc#IFoh*sgMpz4 zRg4vj7#kKbc8J*Iy-e!tj384rxh7jPOLGR~BqpaiCl;klE@X}pV!Fkdo?7CQpPrst zbc-c3FD-xa3+8yn9g{s+3@6WHxy~pvxs260l4~qyC(L#CbCP0yrEr`e>a`588 zAiskq9{dB08f@ZSIRU9@g~{v6tFvB9R< z0`E-LCCd>~+%uWEzqL|qfqBb5+_l~&syL$u7BimekFy9}N83j0of0TXFoh7b?W#61 ztG3~@-3FcZpd*1$H#5kPX^0tN_ULMq`HGM`0*~#z?2g$6)s7Ba3yY4^I1jcQ8|RuU z(6h{wX-z(~QgrGlS*`js%|3RuvZUF|u6a1(ta;VMS@W?}SC|4R>^fJ|TFt)T%PFg^ z#Cd5b4{+=&P8~>z|I8Gy@Lm;@#znafwAl{a0-o$T9F2?FpRhha{-0b&(ME9=!Z{X_ zn96agXbF~`RuyTD#p5{{7|+7Gb19{rCX9K+tQ~Q!&|1PV^?LcLy=@9*dCLlW5HTU8H`1TgL@+3P(tq#{1MX4O_E+z}E~e zJ1fB?s8yShaKH^S8iz^DzDZ4EG7mx+CD4EeX7px?vcqA{3f-nb)|8-bAkhp9CO@8l zU#3xhNkn7pDK?Jd=s4Yp;jLE=(#|t%6XSXRpu*7TmAG)zqYk38OzaOk6fo-RjwiT z)rv=lhLtoUMS7#6a2Mo^~0r}=kcInRabz?kpE z@#Ok^E5_rn+jV(O2XU@Obiqegf+^9T#4CLux=Zj80QW0HCrQ!DM~JT%qMmX_B&7s* zJsa^v^1UaHnO>rFL6^52hv0(Oi_gIWZ*$2(A_oZ$5v)dZlj<;mhCuy1NDdM7K%mgO zR>9ihFNknu0D^^EjN}#MegY>!8158abo7wYN3c%CPhHheR6H7%s^u882qjrND9n9D HgsZ0C#KiM; diff --git a/OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-312.pyc b/OLD_Server/Classes/System/Utils/__pycache__/Path.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..81b63271804417889d025b8c0447bdf15d641d34 GIT binary patch literal 676 zcmZWl&rcIU6n-A>sev0`azT^W?3uCMKMm*KI3_lk9un`|*AI-n%T7rop}+U(WFpc?!nQ9f3i` zf)kJ+Sp+_CSOdv>Ae}Rwcla!2p8J!6`c|IG?L=YG#wUQ_GYLMI3?0eQdF@K4=lX8y zdWEd`Dm2?0W+%!X#EE&nsgtN53(rQX4e)rqJG1_BRWwlTqk8N)8BcWPwrPfY;ie|wF-2mUSe4sm?MbkqQR$#z z5ch*s)Nf7F4%(^NPU1>p;d&hH#3-7zwcww2P>VvX(b7_FuockSI-q5j+i5oc2FLp& z<(f%%fjo6B|5qE1vtY;h2sd-{#|K9T$A?FUpWmN;xL$hpZLWG%tPX4y>U3iv;;@B6 zWYa>l64{9e&kC{E38PWP(MG9ROZW<^WSyEJL-!sU0{W3PJ?L{*SUD~C!Mcm`Z*n<< rdOWU*V~%=AXd-r7e478es>-%Nr_|KZcNk;e;r^c~&Q^YbHABu{+uom+ literal 0 HcmV?d00001 diff --git a/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/GameManager.cpython-312.pyc index 963cabf859066f1de879a492cfec478ba7456afc..9effb6a34c14ebd49ba2a870d462a39657a8ed94 100644 GIT binary patch literal 6291 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 delta 2054 zcmZ8iT}%{L6u$GjGsEn%%P#D){4M_srKTEU>mN#7l!`?YG!;TaHai0@EW4XKBYy&# z)-;ebL3N+QN4YTC5=*2gBb=|f+jU?8I=JT$Sst!UcD_Mzv_ia)){o_p?h&pG$p zJLh~$wtpA#{OWcq2!>Ymwei?<$rIYy46DmXM>>;4J-M0bVPMTB*j%Y z)GQKt(Q$Bh?@80ZW^b2e7$dz=!yK~GncicmWFlqsoj7>7_i$|3h>*|OsHjp$jV!T^ zgyCBKG|p`Xdnn4#a5$fwH{b@ERM{{LGn-z5I0{gJVt1WCGYXYj6y1vVwo!jvng(pBj@?R4)|#FN-!8S z$qnY`^f%@IEPUjt92Om8zoSm^;8zHt{bWPo{X!VMj;M>U7o=v?sCY{$*;2}=(xAH* zgehT?8LW8o+?;MzZefE}&KVto!qieXk`eOipYUiLRU@lz%c=%pZAzR(gAH2CVz!jiPiMB!6qwrl=~zl9!=Ad%A}rA`LIx+m)89wS>?3d-FmPYr z8CsGyKV*!XcJbR=urp%dkJC7*+sc4p9d{~){N$-V2dk(NAF^GhVYS0KwhIs%(-uH! zKklqMX&Q9Hv4D;MJATkir))t#Gn_GP(MZM9x?#(0V{s#6CDJLUW8jV$r?KX8DioK{ zYPw;98vH5thbsN+xbYmaRM#4LpJg8m3bX814E z-zE3V@Tye09xA=2UQyRV+Hy!+3B9w40&>wzdzSUPi`IiBYe8)}sI3K?mxIlBPAvyp zei&O0wv%#i<2mrU>bWSadjpr%OX~c|#T|>S^WCf7`mBh`8rG}oZZ=(Sy0L9NQgc(e zuG~;xBc+jRN3R^c+W9n3EGf9?%6gG6d>JTi!MZkaW#U%-O2v+~ie1YUyH+ap-1qLy zRzphJCM3K6elDXx*(PEkH&W^=)*gBbHzf6+tPIEtGX%H1d$1-NV(*3IHbuBsS>7fH zKMO*eLVA4>Kc#`&2s>o4#U5Y!stb3FtLi zbtb(BEiEXlKMU){ZdjW0q`Ig+P+0O*;Odkae$F%Nxj3;bRb?d-E2@b;7m=DjW6ixaI%Yf8)Y4_Obg8UmRozda&e_iSovUiq25|TrFWIT(lcM0ELtdIz zAr)aNqEyg~aVr({li&_24p2c!8&eX+lsgagRZ}Otx-t;m;$);Bo+}WD2 z;9jhIhG5$KfCC`F2<7w9X9%XO;t|Rh#Vms9)`&Cxs6VHx+#xi+CSdya3~${Ks%|?# v)mI6;koFFz^)pGM1$V&)tvr)nAj>ff^8n>NK<-DV?k_RMFy)(wO2_v<{{jE! diff --git a/OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/Logger.cpython-312.pyc index ac8ea48e617accf1a3b3e1b9709b1e966ddccae0..24c0a41bdd4dc4b12438a1bbecb225a04ebe4cff 100644 GIT binary patch delta 58 zcmey%(ayd8zRs&h9b( NJ}&W_uQ4uX0sttd6T<)i delta 48 zcmZqY{L8_8nwOW00SHWFmu%!-%*g0Ac|D`JfPY?2W?pK1h_ic)dtz>?!sZ8z%b5T` C1rBQf diff --git a/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/PlayerManager.cpython-312.pyc index fccebea8669ba88767de10ed22a5b84b7527773e..d3f0a4c0572a8629fda7a1578769cc90a16eed33 100644 GIT binary patch delta 76 zcmX@jdzF{_G%qg~0}wo3ymlkEH=|LwvsFxJacWU7SRAnU@+L;_M#d@8c4`xsK776#(Pw8ifD= delta 66 zcmcc0dzzQ~G%qg~0}!a$&)dlD&8Xq)Y!wq)oLW>I6I_y-S{CDyTAW>yUl8M;my?;7 U8Xw~99^;;vo2sz6gVC220GzEAI{*Lx diff --git a/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc b/OLD_Server/Classes/System/__pycache__/Server.cpython-312.pyc index 7700f6370bb88b162f56b69c89b85f4ae5dd62b3..e6f1af42e843ccd529af30c09a92d5bda54f9ae1 100644 GIT binary patch delta 76 zcmaDU_*szqG%qg~0}wo3ymlk^1!kiFXRDad;?$zznBbDs)Up_t)Z*-t{DPQ*%94!y dJcWE9(?2gKGcPqh#MwQ@-^V3>Gc(IG7624K8)*Ol delta 66 zcmew?_)?JjG%qg~0}zzUTS=ZvwMuc Mk4yY!cgFWj0Os%!=Kufz delta 48 zcmX@Wv5kZKG%qg~0}!a$&)di?!pP`4S%Fbpz&|f1GcPqh#MwQ@Jux>`VRInkdnN!M C7!3pf diff --git a/OLD_Server/log/calpwwxt.log b/OLD_Server/log/calpwwxt.log deleted file mode 100644 index 90c7b51..0000000 --- a/OLD_Server/log/calpwwxt.log +++ /dev/null @@ -1,34 +0,0 @@ -23:07:59,420 root INFO starting up server -23:07:59,420 root INFO starting up game manager -23:07:59,421 root INFO preparing to start server -23:07:59,421 root INFO starting up network manager -23:07:59,421 root INFO starting up network manager -23:07:59,421 root INFO starting up tcp server -23:07:59,421 root INFO starting up thread for client socket accepting -23:08:06,461 root INFO Connected with ('127.0.0.1', 52171) -23:08:06,462 root INFO starting client handler thread for client at address ('127.0.0.1', 52171) -23:08:06,463 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]} -23:08:06,466 root INFO user in message None -23:08:08,631 root INFO user logging in -23:08:08,664 root INFO task passed off to gameManager -23:08:08,695 root INFO creating user with id: > -23:08:08,892 root INFO new length of user dictionary: 1 -23:08:08,936 root INFO connected users 1 -23:08:09,160 root INFO confirming login for user -23:08:09,661 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]} -23:08:09,693 root INFO Received message from ('127.0.0.1', 52171): {"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]} -23:08:18,274 root INFO Connected with ('127.0.0.1', 52177) -23:08:18,274 root INFO starting client handler thread for client at address ('127.0.0.1', 52177) -23:08:18,275 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]} -23:08:18,275 root INFO user in message None -23:08:19,437 root INFO user logging in -23:08:19,468 root INFO task passed off to gameManager -23:08:19,500 root INFO creating user with id: > -23:08:19,663 root INFO new length of user dictionary: 2 -23:08:19,852 root INFO 2 players have join game starts -23:08:19,991 root INFO game manager is starting the game -23:08:20,297 root INFO connected users 2 -23:08:20,454 root INFO confirming login for user -23:08:20,950 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]} -23:08:20,982 root INFO Received message from ('127.0.0.1', 52177): {"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]} -23:10:25,4 root ERROR Connection with ('127.0.0.1', 52171) forcibly closed by remote host. diff --git a/OLD_Server/log/ftosavkt.log b/OLD_Server/log/ftosavkt.log new file mode 100644 index 0000000..5997e28 --- /dev/null +++ b/OLD_Server/log/ftosavkt.log @@ -0,0 +1,35 @@ +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/fzvblgun.log b/OLD_Server/log/fzvblgun.log deleted file mode 100644 index 52efee5..0000000 --- a/OLD_Server/log/fzvblgun.log +++ /dev/null @@ -1,51 +0,0 @@ -23:35:15,875 root INFO starting up server -23:35:15,875 root INFO starting up game manager -23:35:15,875 root INFO preparing to start server -23:35:15,875 root INFO starting up network manager -23:35:15,875 root INFO starting up network manager -23:35:15,875 root INFO starting up tcp server -23:35:15,876 root INFO starting up thread for client socket accepting -23:35:20,243 root INFO Connected with ('127.0.0.1', 52881) -23:35:20,243 root INFO starting client handler thread for client at address ('127.0.0.1', 52881) -23:35:20,243 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]} -23:35:20,246 root INFO user in message None -23:35:20,246 root INFO user logging in -23:35:20,246 root INFO task passed off to gameManager -23:35:20,246 root INFO creating user with id: > -23:35:20,246 root INFO new length of user dictionary: 1 -23:35:20,246 root INFO connected users 1 -23:35:20,246 root INFO confirming login for user -23:35:20,247 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]} -23:35:20,247 root INFO Received message from ('127.0.0.1', 52881): {"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]} -23:35:25,465 root INFO Connected with ('127.0.0.1', 52887) -23:35:25,465 root INFO starting client handler thread for client at address ('127.0.0.1', 52887) -23:35:25,465 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]} -23:35:25,465 root INFO user in message None -23:35:25,465 root INFO user logging in -23:35:25,465 root INFO task passed off to gameManager -23:35:25,465 root INFO creating user with id: > -23:35:25,465 root INFO new length of user dictionary: 2 -23:35:25,465 root INFO 2 players have join game starts -23:35:25,466 root INFO game manager is starting the game -23:35:25,466 root INFO connected users 2 -23:35:25,466 root INFO confirming login for user -23:35:25,466 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]} -23:35:25,466 root INFO Received message from ('127.0.0.1', 52887): {"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]} -23:36:26,682 root ERROR Connection with ('127.0.0.1', 52887) forcibly closed by remote host. -23:36:27,925 root INFO Connected with ('127.0.0.1', 52921) -23:36:27,925 root INFO starting client handler thread for client at address ('127.0.0.1', 52921) -23:36:27,926 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]} -23:36:27,926 root INFO user in message None -23:36:27,926 root INFO user logging in -23:36:27,926 root INFO task passed off to gameManager -23:36:27,926 root INFO creating user with id: > -23:36:27,926 root INFO new length of user dictionary: 3 -23:36:27,926 root INFO 2 players have join game starts -23:36:27,926 root INFO game manager is starting the game -23:36:27,926 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:36:27,926 root INFO connected users 3 -23:36:27,926 root INFO confirming login for user -23:36:27,926 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]} -23:36:27,926 root INFO Received message from ('127.0.0.1', 52921): {"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]} -23:36:34,685 root ERROR Connection with ('127.0.0.1', 52921) forcibly closed by remote host. -23:36:36,275 root ERROR Connection with ('127.0.0.1', 52881) forcibly closed by remote host. diff --git a/OLD_Server/log/hbokqkpm.log b/OLD_Server/log/hbokqkpm.log deleted file mode 100644 index b8b1191..0000000 --- a/OLD_Server/log/hbokqkpm.log +++ /dev/null @@ -1,49 +0,0 @@ -23:16:48,567 root INFO starting up server -23:16:48,567 root INFO starting up game manager -23:16:48,567 root INFO preparing to start server -23:16:48,567 root INFO starting up network manager -23:16:48,567 root INFO starting up network manager -23:16:48,567 root INFO starting up tcp server -23:16:48,568 root INFO starting up thread for client socket accepting -23:16:55,703 root INFO Connected with ('127.0.0.1', 52398) -23:16:55,704 root INFO starting client handler thread for client at address ('127.0.0.1', 52398) -23:16:55,704 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]} -23:16:55,707 root INFO user in message None -23:16:55,707 root INFO user logging in -23:16:55,707 root INFO task passed off to gameManager -23:16:55,707 root INFO creating user with id: > -23:16:55,707 root INFO new length of user dictionary: 1 -23:16:55,707 root INFO connected users 1 -23:16:55,707 root INFO confirming login for user -23:16:55,707 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]} -23:16:55,707 root INFO Received message from ('127.0.0.1', 52398): {"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]} -23:17:04,931 root INFO Connected with ('127.0.0.1', 52410) -23:17:04,931 root INFO starting client handler thread for client at address ('127.0.0.1', 52410) -23:17:04,965 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]} -23:17:04,965 root INFO user in message None -23:17:04,965 root INFO user logging in -23:17:04,965 root INFO task passed off to gameManager -23:17:04,966 root INFO creating user with id: > -23:17:04,966 root INFO new length of user dictionary: 2 -23:17:04,966 root INFO 2 players have join game starts -23:17:04,966 root INFO game manager is starting the game -23:17:04,966 root INFO connected users 2 -23:17:04,966 root INFO confirming login for user -23:17:04,966 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]} -23:17:04,966 root INFO Received message from ('127.0.0.1', 52410): {"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]} -23:17:45,314 root ERROR Connection with ('127.0.0.1', 52410) forcibly closed by remote host. -23:17:49,965 root INFO Connected with ('127.0.0.1', 52433) -23:17:49,965 root INFO starting client handler thread for client at address ('127.0.0.1', 52433) -23:17:50,291 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]} -23:17:50,291 root INFO user in message None -23:17:50,291 root INFO user logging in -23:17:50,291 root INFO task passed off to gameManager -23:17:50,291 root INFO creating user with id: > -23:17:50,291 root INFO new length of user dictionary: 3 -23:17:50,291 root INFO 2 players have join game starts -23:17:50,291 root INFO game manager is starting the game -23:17:50,291 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:17:50,291 root INFO connected users 3 -23:17:50,291 root INFO confirming login for user -23:17:50,292 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]} -23:17:50,292 root INFO Received message from ('127.0.0.1', 52433): {"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/jopxlbza.log b/OLD_Server/log/jopxlbza.log deleted file mode 100644 index c904742..0000000 --- a/OLD_Server/log/jopxlbza.log +++ /dev/null @@ -1,28 +0,0 @@ -21:35:45,88 root INFO starting up server -21:35:45,89 root INFO starting up game manager -21:35:45,89 root INFO preparing to start server -21:35:45,89 root INFO starting up network manager -21:35:45,89 root INFO starting up network manager -21:35:45,89 root INFO starting up tcp server -21:35:45,89 root INFO starting up thread for client socket accepting -21:35:51,856 root INFO Connected with ('127.0.0.1', 49747) -21:35:51,856 root INFO starting client handler thread for client at address ('127.0.0.1', 49747) -21:35:51,859 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]} -21:35:51,860 root INFO user in message None -21:35:51,861 root INFO user logging in -21:35:51,861 root INFO task passed off to gameManager -21:35:51,861 root INFO creating user with id: > -21:35:56,111 root INFO new length of user dictionary: 1 -21:36:08,506 root INFO connected users 1 -21:36:08,506 root INFO confirming login for user -21:36:08,507 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]} -21:36:08,507 root INFO Received message from ('127.0.0.1', 49747): {"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]} -21:37:40,56 root INFO Connected with ('127.0.0.1', 49795) -21:37:40,56 root INFO starting client handler thread for client at address ('127.0.0.1', 49795) -21:37:40,57 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]} -21:37:40,58 root INFO user in message None -21:37:40,58 root INFO user logging in -21:37:40,58 root INFO task passed off to gameManager -21:37:40,58 root INFO creating user with id: > -21:37:43,614 root INFO new length of user dictionary: 2 -21:37:50,2 root INFO 2 players have join game starts diff --git a/OLD_Server/log/jsrrepta.log b/OLD_Server/log/jsrrepta.log deleted file mode 100644 index 62fc73f..0000000 --- a/OLD_Server/log/jsrrepta.log +++ /dev/null @@ -1,28 +0,0 @@ -21:02:55,541 root INFO starting up server -21:02:55,542 root INFO starting up game manager -21:02:55,542 root INFO preparing to start server -21:02:55,542 root INFO starting up network manager -21:02:55,543 root INFO starting up network manager -21:02:55,543 root INFO starting up tcp server -21:02:55,543 root INFO starting up thread for client socket accepting -21:03:03,608 root INFO Connected with ('127.0.0.1', 65384) -21:03:03,609 root INFO starting client handler thread for client at address ('127.0.0.1', 65384) -21:03:03,610 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]} -21:03:03,613 root INFO user in message None -21:03:03,613 root INFO user logging in -21:03:03,613 root INFO task passed off to gameManager -21:03:03,613 root INFO creating user with id: > -21:03:03,613 root INFO new length of user dictionary: 1 -21:03:03,613 root INFO connected users 1 -21:03:03,613 root INFO confirming login for user -21:03:03,614 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]} -21:03:03,614 root INFO Received message from ('127.0.0.1', 65384): {"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]} -21:03:21,850 root INFO Connected with ('127.0.0.1', 65399) -21:03:21,850 root INFO starting client handler thread for client at address ('127.0.0.1', 65399) -21:03:21,852 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]} -21:03:21,852 root INFO user in message None -21:03:21,852 root INFO user logging in -21:03:21,852 root INFO task passed off to gameManager -21:03:21,852 root INFO creating user with id: > -21:03:21,852 root INFO new length of user dictionary: 2 -21:03:21,852 root INFO 2 players have join game starts diff --git a/OLD_Server/log/kawhnrji.log b/OLD_Server/log/kawhnrji.log deleted file mode 100644 index 8a5fbfd..0000000 --- a/OLD_Server/log/kawhnrji.log +++ /dev/null @@ -1,32 +0,0 @@ -22:18:28,492 root INFO starting up server -22:18:28,493 root INFO starting up game manager -22:18:28,493 root INFO preparing to start server -22:18:28,493 root INFO starting up network manager -22:18:28,493 root INFO starting up network manager -22:18:28,493 root INFO starting up tcp server -22:18:28,493 root INFO starting up thread for client socket accepting -22:18:33,537 root INFO Connected with ('127.0.0.1', 50893) -22:18:33,537 root INFO starting client handler thread for client at address ('127.0.0.1', 50893) -22:18:33,539 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]} -22:18:33,540 root INFO user in message None -22:18:36,99 root INFO user logging in -22:18:36,131 root INFO task passed off to gameManager -22:18:36,195 root INFO creating user with id: > -22:18:36,427 root INFO new length of user dictionary: 1 -22:18:36,454 root INFO connected users 1 -22:18:36,467 root INFO confirming login for user -22:18:37,23 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]} -22:18:37,87 root INFO Received message from ('127.0.0.1', 50893): {"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]} -22:18:42,538 root INFO Connected with ('127.0.0.1', 50897) -22:18:42,538 root INFO starting client handler thread for client at address ('127.0.0.1', 50897) -22:18:42,540 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]} -22:18:42,540 root INFO user in message None -22:18:44,273 root INFO user logging in -22:18:44,305 root INFO task passed off to gameManager -22:18:44,369 root INFO creating user with id: > -22:18:44,475 root INFO new length of user dictionary: 2 -22:18:45,389 root INFO 2 players have join game starts -22:18:47,378 root INFO connected users 2 -22:18:47,410 root INFO confirming login for user -22:18:47,948 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]} -22:18:48,11 root INFO Received message from ('127.0.0.1', 50897): {"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/kuketiqt.log b/OLD_Server/log/kuketiqt.log new file mode 100644 index 0000000..25a6234 --- /dev/null +++ b/OLD_Server/log/kuketiqt.log @@ -0,0 +1,35 @@ +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 new file mode 100644 index 0000000..6a8d90a --- /dev/null +++ b/OLD_Server/log/mjlawgym.log @@ -0,0 +1,35 @@ +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/mxrdtmmv.log b/OLD_Server/log/mxrdtmmv.log deleted file mode 100644 index 107ad65..0000000 --- a/OLD_Server/log/mxrdtmmv.log +++ /dev/null @@ -1,35 +0,0 @@ -23:30:08,625 root INFO starting up server -23:30:08,625 root INFO starting up game manager -23:30:08,625 root INFO preparing to start server -23:30:08,625 root INFO starting up network manager -23:30:08,625 root INFO starting up network manager -23:30:08,625 root INFO starting up tcp server -23:30:08,626 root INFO starting up thread for client socket accepting -23:32:30,46 root INFO Connected with ('127.0.0.1', 52793) -23:32:30,46 root INFO starting client handler thread for client at address ('127.0.0.1', 52793) -23:32:30,47 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]} -23:32:30,48 root INFO user in message None -23:32:30,48 root INFO user logging in -23:32:30,50 root INFO task passed off to gameManager -23:32:30,50 root INFO creating user with id: > -23:32:30,50 root INFO new length of user dictionary: 1 -23:32:30,50 root INFO connected users 1 -23:32:30,50 root INFO confirming login for user -23:32:30,50 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]} -23:32:30,50 root INFO Received message from ('127.0.0.1', 52793): {"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]} -23:32:35,992 root INFO Connected with ('127.0.0.1', 52796) -23:32:35,993 root INFO starting client handler thread for client at address ('127.0.0.1', 52796) -23:32:35,993 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]} -23:32:35,993 root INFO user in message None -23:32:35,993 root INFO user logging in -23:32:35,993 root INFO task passed off to gameManager -23:32:35,993 root INFO creating user with id: > -23:32:35,993 root INFO new length of user dictionary: 2 -23:32:35,993 root INFO 2 players have join game starts -23:32:35,993 root INFO game manager is starting the game -23:32:35,994 root INFO connected users 2 -23:32:35,994 root INFO confirming login for user -23:32:35,994 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]} -23:32:35,994 root INFO Received message from ('127.0.0.1', 52796): {"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]} -23:33:37,927 root ERROR Connection with ('127.0.0.1', 52796) forcibly closed by remote host. -23:33:39,992 root ERROR Connection with ('127.0.0.1', 52793) forcibly closed by remote host. diff --git a/OLD_Server/log/ncyhufrr.log b/OLD_Server/log/ncyhufrr.log new file mode 100644 index 0000000..17a3e86 --- /dev/null +++ b/OLD_Server/log/ncyhufrr.log @@ -0,0 +1,35 @@ +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/obhvhvqr.log b/OLD_Server/log/obhvhvqr.log deleted file mode 100644 index 33b7c55..0000000 --- a/OLD_Server/log/obhvhvqr.log +++ /dev/null @@ -1,48 +0,0 @@ -23:11:13,696 root INFO starting up server -23:11:13,696 root INFO starting up game manager -23:11:13,696 root INFO preparing to start server -23:11:13,696 root INFO starting up network manager -23:11:13,696 root INFO starting up network manager -23:11:13,696 root INFO starting up tcp server -23:11:13,697 root INFO starting up thread for client socket accepting -23:11:17,731 root INFO Connected with ('127.0.0.1', 52240) -23:11:17,731 root INFO starting client handler thread for client at address ('127.0.0.1', 52240) -23:11:17,731 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]} -23:11:17,733 root INFO user in message None -23:11:17,733 root INFO user logging in -23:11:17,733 root INFO task passed off to gameManager -23:11:17,733 root INFO creating user with id: > -23:11:17,733 root INFO new length of user dictionary: 1 -23:11:17,733 root INFO connected users 1 -23:11:17,733 root INFO confirming login for user -23:11:17,733 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]} -23:11:17,733 root INFO Received message from ('127.0.0.1', 52240): {"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]} -23:11:59,620 root INFO Connected with ('127.0.0.1', 52270) -23:11:59,620 root INFO starting client handler thread for client at address ('127.0.0.1', 52270) -23:12:00,135 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]} -23:12:00,135 root INFO user in message None -23:12:00,135 root INFO user logging in -23:12:00,135 root INFO task passed off to gameManager -23:12:00,135 root INFO creating user with id: > -23:12:00,136 root INFO new length of user dictionary: 2 -23:12:00,136 root INFO 2 players have join game starts -23:12:00,136 root INFO game manager is starting the game -23:12:00,136 root INFO connected users 2 -23:12:00,136 root INFO confirming login for user -23:12:00,136 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]} -23:12:00,136 root INFO Received message from ('127.0.0.1', 52270): {"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]} -23:13:15,0 root ERROR Connection with ('127.0.0.1', 52270) forcibly closed by remote host. -23:13:18,810 root INFO Connected with ('127.0.0.1', 52306) -23:13:18,810 root INFO starting client handler thread for client at address ('127.0.0.1', 52306) -23:13:19,324 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]} -23:13:19,324 root INFO user in message None -23:13:19,324 root INFO user logging in -23:13:19,324 root INFO task passed off to gameManager -23:13:19,324 root INFO creating user with id: > -23:13:19,324 root INFO new length of user dictionary: 3 -23:13:19,324 root INFO connected users 3 -23:13:19,324 root INFO confirming login for user -23:13:19,324 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]} -23:13:19,324 root INFO Received message from ('127.0.0.1', 52306): {"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]} -23:14:13,515 root ERROR Connection with ('127.0.0.1', 52306) forcibly closed by remote host. -23:15:01,555 root ERROR Connection with ('127.0.0.1', 52240) forcibly closed by remote host. diff --git a/OLD_Server/log/oclaenwk.log b/OLD_Server/log/oclaenwk.log deleted file mode 100644 index 5173074..0000000 --- a/OLD_Server/log/oclaenwk.log +++ /dev/null @@ -1,68 +0,0 @@ -23:23:44,948 root INFO starting up server -23:23:44,948 root INFO starting up game manager -23:23:44,948 root INFO preparing to start server -23:23:44,948 root INFO starting up network manager -23:23:44,948 root INFO starting up network manager -23:23:44,950 root INFO starting up tcp server -23:23:44,950 root INFO starting up thread for client socket accepting -23:23:49,381 root INFO Connected with ('127.0.0.1', 52585) -23:23:49,382 root INFO starting client handler thread for client at address ('127.0.0.1', 52585) -23:23:49,382 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]} -23:23:49,384 root INFO user in message None -23:23:49,384 root INFO user logging in -23:23:49,384 root INFO task passed off to gameManager -23:23:49,384 root INFO creating user with id: > -23:23:49,384 root INFO new length of user dictionary: 1 -23:23:49,384 root INFO connected users 1 -23:23:49,384 root INFO confirming login for user -23:23:49,385 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]} -23:23:49,385 root INFO Received message from ('127.0.0.1', 52585): {"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]} -23:23:52,883 root INFO Connected with ('127.0.0.1', 52588) -23:23:52,883 root INFO starting client handler thread for client at address ('127.0.0.1', 52588) -23:23:52,884 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]} -23:23:52,884 root INFO user in message None -23:23:52,884 root INFO user logging in -23:23:52,884 root INFO task passed off to gameManager -23:23:52,884 root INFO creating user with id: > -23:23:52,884 root INFO new length of user dictionary: 2 -23:23:52,884 root INFO 2 players have join game starts -23:23:52,884 root INFO game manager is starting the game -23:23:52,884 root INFO connected users 2 -23:23:52,884 root INFO confirming login for user -23:23:52,884 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]} -23:23:52,884 root INFO Received message from ('127.0.0.1', 52588): {"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]} -23:26:10,258 root ERROR Connection with ('127.0.0.1', 52588) forcibly closed by remote host. -23:26:14,591 root ERROR Connection with ('127.0.0.1', 52585) forcibly closed by remote host. -23:26:16,284 root INFO Connected with ('127.0.0.1', 52648) -23:26:16,285 root INFO starting client handler thread for client at address ('127.0.0.1', 52648) -23:26:16,285 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]} -23:26:16,285 root INFO user in message None -23:26:16,285 root INFO user logging in -23:26:16,285 root INFO task passed off to gameManager -23:26:16,285 root INFO creating user with id: > -23:26:16,285 root INFO new length of user dictionary: 3 -23:26:16,285 root INFO 2 players have join game starts -23:26:16,285 root INFO game manager is starting the game -23:26:16,285 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:26:16,286 root INFO connected users 3 -23:26:16,286 root INFO confirming login for user -23:26:16,286 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]} -23:26:16,286 root INFO Received message from ('127.0.0.1', 52648): {"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]} -23:26:23,147 root INFO Connected with ('127.0.0.1', 52651) -23:26:23,147 root INFO starting client handler thread for client at address ('127.0.0.1', 52651) -23:26:23,147 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]} -23:26:23,147 root INFO user in message None -23:26:23,147 root INFO user logging in -23:26:23,147 root INFO task passed off to gameManager -23:26:23,147 root INFO creating user with id: > -23:26:23,147 root INFO new length of user dictionary: 4 -23:26:23,148 root INFO 2 players have join game starts -23:26:23,148 root INFO game manager is starting the game -23:26:23,148 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:26:23,148 root INFO connected users 4 -23:26:23,148 root INFO confirming login for user -23:26:23,148 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]} -23:26:23,148 root INFO Received message from ('127.0.0.1', 52651): {"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]} -23:26:31,768 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 79956, 'x': 1117.0, 'y': 584.0} -23:26:31,768 root INFO user in message 79956 -23:26:31,768 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 79956, 'x': 1117.0, 'y': 584.0} diff --git a/OLD_Server/log/oiaflmlv.log b/OLD_Server/log/oiaflmlv.log new file mode 100644 index 0000000..1b02e2b --- /dev/null +++ b/OLD_Server/log/oiaflmlv.log @@ -0,0 +1,34 @@ +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/olchcxfi.log b/OLD_Server/log/olchcxfi.log deleted file mode 100644 index 119245f..0000000 --- a/OLD_Server/log/olchcxfi.log +++ /dev/null @@ -1,33 +0,0 @@ -22:30:19,522 root INFO starting up server -22:30:19,523 root INFO starting up game manager -22:30:19,523 root INFO preparing to start server -22:30:19,523 root INFO starting up network manager -22:30:19,523 root INFO starting up network manager -22:30:19,523 root INFO starting up tcp server -22:30:19,523 root INFO starting up thread for client socket accepting -22:30:25,764 root INFO Connected with ('127.0.0.1', 51190) -22:30:25,765 root INFO starting client handler thread for client at address ('127.0.0.1', 51190) -22:30:25,767 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]} -22:30:25,769 root INFO user in message None -22:30:28,438 root INFO user logging in -22:30:28,469 root INFO task passed off to gameManager -22:30:28,531 root INFO creating user with id: > -22:30:28,679 root INFO new length of user dictionary: 1 -22:30:28,898 root INFO connected users 1 -22:30:28,910 root INFO confirming login for user -22:30:29,365 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]} -22:30:29,397 root INFO Received message from ('127.0.0.1', 51190): {"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]} -22:30:35,73 root INFO Connected with ('127.0.0.1', 51194) -22:30:35,73 root INFO starting client handler thread for client at address ('127.0.0.1', 51194) -22:30:35,75 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]} -22:30:35,75 root INFO user in message None -22:30:35,940 root INFO user logging in -22:30:35,982 root INFO task passed off to gameManager -22:30:36,3 root INFO creating user with id: > -22:30:36,98 root INFO new length of user dictionary: 2 -22:30:36,277 root INFO 2 players have join game starts -22:30:36,468 root INFO game manager is starting the game -22:30:36,805 root INFO connected users 2 -22:30:36,817 root INFO confirming login for user -22:30:42,749 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]} -22:30:42,781 root INFO Received message from ('127.0.0.1', 51194): {"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/ooqpxwpe.log b/OLD_Server/log/ooqpxwpe.log new file mode 100644 index 0000000..75c8e7e --- /dev/null +++ b/OLD_Server/log/ooqpxwpe.log @@ -0,0 +1,41 @@ +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/ploaokwx.log b/OLD_Server/log/ploaokwx.log deleted file mode 100644 index a6fdccd..0000000 --- a/OLD_Server/log/ploaokwx.log +++ /dev/null @@ -1,59 +0,0 @@ -22:53:50,717 root INFO starting up server -22:53:50,718 root INFO starting up game manager -22:53:50,718 root INFO preparing to start server -22:53:50,718 root INFO starting up network manager -22:53:50,718 root INFO starting up network manager -22:53:50,718 root INFO starting up tcp server -22:53:50,719 root INFO starting up thread for client socket accepting -22:53:57,759 root INFO Connected with ('127.0.0.1', 51806) -22:53:57,759 root INFO starting client handler thread for client at address ('127.0.0.1', 51806) -22:53:57,761 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]} -22:53:57,764 root INFO user in message None -22:53:58,552 root INFO user logging in -22:53:58,584 root INFO task passed off to gameManager -22:53:58,657 root INFO creating user with id: > -22:53:58,751 root INFO new length of user dictionary: 1 -22:53:58,980 root INFO connected users 1 -22:53:59,2 root INFO confirming login for user -22:53:59,505 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]} -22:53:59,516 root INFO Received message from ('127.0.0.1', 51806): {"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]} -22:54:02,832 root INFO Connected with ('127.0.0.1', 51810) -22:54:02,832 root INFO starting client handler thread for client at address ('127.0.0.1', 51810) -22:54:02,832 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]} -22:54:02,834 root INFO user in message None -22:54:03,426 root INFO user logging in -22:54:03,448 root INFO task passed off to gameManager -22:54:03,480 root INFO creating user with id: > -22:54:03,586 root INFO new length of user dictionary: 2 -22:54:03,818 root INFO 2 players have join game starts -22:54:03,923 root INFO game manager is starting the game -22:54:04,230 root INFO connected users 2 -22:54:04,262 root INFO confirming login for user -22:54:04,741 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]} -22:54:04,774 root INFO Received message from ('127.0.0.1', 51810): {"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]} -23:01:35,624 root INFO Connected with ('127.0.0.1', 51984) -23:01:35,624 root INFO starting client handler thread for client at address ('127.0.0.1', 51984) -23:01:35,625 root ERROR Connection with ('127.0.0.1', 51806) forcibly closed by remote host. -23:01:35,625 root ERROR Connection with ('127.0.0.1', 51810) forcibly closed by remote host. -23:01:36,21 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]} -23:01:36,22 root INFO user in message None -23:01:36,637 root INFO user logging in -23:01:36,700 root INFO task passed off to gameManager -23:01:36,762 root INFO creating user with id: > -23:01:36,975 root INFO new length of user dictionary: 3 -23:01:37,228 root INFO connected users 3 -23:01:37,312 root INFO confirming login for user -23:01:37,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]} -23:01:37,852 root INFO Received message from ('127.0.0.1', 51984): {"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]} -23:01:41,725 root INFO Connected with ('127.0.0.1', 51989) -23:01:41,725 root INFO starting client handler thread for client at address ('127.0.0.1', 51989) -23:01:41,727 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]} -23:01:41,727 root INFO user in message None -23:01:42,769 root INFO user logging in -23:01:42,801 root INFO task passed off to gameManager -23:01:42,853 root INFO creating user with id: > -23:01:43,191 root INFO new length of user dictionary: 4 -23:01:43,244 root INFO connected users 4 -23:01:43,349 root INFO confirming login for user -23:01:43,822 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]} -23:01:43,843 root INFO Received message from ('127.0.0.1', 51989): {"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/qrgtwasn.log b/OLD_Server/log/qrgtwasn.log new file mode 100644 index 0000000..3751ca7 --- /dev/null +++ b/OLD_Server/log/qrgtwasn.log @@ -0,0 +1,35 @@ +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 new file mode 100644 index 0000000..3d78e83 --- /dev/null +++ b/OLD_Server/log/sxuostca.log @@ -0,0 +1,40 @@ +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/tmqifhet.log b/OLD_Server/log/tmqifhet.log deleted file mode 100644 index f6bd341..0000000 --- a/OLD_Server/log/tmqifhet.log +++ /dev/null @@ -1,23 +0,0 @@ -22:17:17,848 root INFO starting up server -22:17:17,849 root INFO starting up game manager -22:17:17,849 root INFO preparing to start server -22:17:17,849 root INFO starting up network manager -22:17:17,849 root INFO starting up network manager -22:17:17,849 root INFO starting up tcp server -22:17:17,849 root INFO starting up thread for client socket accepting -22:17:23,920 root INFO Connected with ('127.0.0.1', 50854) -22:17:23,921 root INFO starting client handler thread for client at address ('127.0.0.1', 50854) -22:17:23,923 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]} -22:17:23,923 root INFO user in message None -22:17:26,307 root INFO user logging in -22:17:26,339 root INFO task passed off to gameManager -22:17:26,370 root INFO creating user with id: > -22:17:26,466 root INFO new length of user dictionary: 1 -22:17:26,654 root INFO connected users 1 -22:17:26,665 root INFO confirming login for user -22:17:27,185 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]} -22:17:27,239 root INFO Received message from ('127.0.0.1', 50854): {"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]} -22:17:35,108 root INFO Connected with ('127.0.0.1', 50858) -22:17:35,109 root INFO starting client handler thread for client at address ('127.0.0.1', 50858) -22:17:35,110 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]} -22:17:35,110 root INFO user in message None diff --git a/OLD_Server/log/ubnbqlgn.log b/OLD_Server/log/ubnbqlgn.log deleted file mode 100644 index 2f1ebb2..0000000 --- a/OLD_Server/log/ubnbqlgn.log +++ /dev/null @@ -1,37 +0,0 @@ -23:37:26,357 root INFO starting up server -23:37:26,357 root INFO starting up game manager -23:37:26,357 root INFO preparing to start server -23:37:26,357 root INFO starting up network manager -23:37:26,357 root INFO starting up network manager -23:37:26,357 root INFO starting up tcp server -23:37:26,358 root INFO starting up thread for client socket accepting -23:37:32,685 root INFO Connected with ('127.0.0.1', 52954) -23:37:32,685 root INFO starting client handler thread for client at address ('127.0.0.1', 52954) -23:37:32,685 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]} -23:37:32,686 root INFO user in message None -23:37:32,686 root INFO user logging in -23:37:32,686 root INFO task passed off to gameManager -23:37:32,686 root INFO creating user with id: > -23:37:32,686 root INFO new length of user dictionary: 1 -23:37:32,686 root INFO connected users 1 -23:37:32,686 root INFO confirming login for user -23:37:32,686 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]} -23:37:32,686 root INFO Received message from ('127.0.0.1', 52954): {"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]} -23:37:37,284 root INFO Connected with ('127.0.0.1', 52960) -23:37:37,284 root INFO starting client handler thread for client at address ('127.0.0.1', 52960) -23:37:37,285 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]} -23:37:37,285 root INFO user in message None -23:37:37,285 root INFO user logging in -23:37:37,285 root INFO task passed off to gameManager -23:37:37,285 root INFO creating user with id: > -23:37:37,285 root INFO new length of user dictionary: 2 -23:37:37,285 root INFO 2 players have join game starts -23:37:37,285 root INFO game manager is starting the game -23:37:37,286 root INFO connected users 2 -23:37:37,286 root INFO confirming login for user -23:37:37,286 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]} -23:37:37,286 root INFO Received message from ('127.0.0.1', 52960): {"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]} -23:38:20,374 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 54628, 'x': 1105.0, 'y': 600.0} -23:38:20,375 root INFO user in message 54628 -23:38:20,375 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 54628, 'x': 1105.0, 'y': 600.0} -23:40:40,18 root ERROR Connection with ('127.0.0.1', 52960) forcibly closed by remote host. diff --git a/OLD_Server/log/usujxxks.log b/OLD_Server/log/usujxxks.log deleted file mode 100644 index 61d04d6..0000000 --- a/OLD_Server/log/usujxxks.log +++ /dev/null @@ -1,7 +0,0 @@ -22:18:11,454 root INFO starting up server -22:18:11,455 root INFO starting up game manager -22:18:11,455 root INFO preparing to start server -22:18:11,455 root INFO starting up network manager -22:18:11,456 root INFO starting up network manager -22:18:11,456 root INFO starting up tcp server -22:18:11,457 root INFO starting up thread for client socket accepting diff --git a/OLD_Server/log/votjjlwn.log b/OLD_Server/log/votjjlwn.log deleted file mode 100644 index fa08189..0000000 --- a/OLD_Server/log/votjjlwn.log +++ /dev/null @@ -1,35 +0,0 @@ -21:49:14,507 root INFO starting up server -21:49:14,507 root INFO starting up game manager -21:49:14,507 root INFO preparing to start server -21:49:14,507 root INFO starting up network manager -21:49:14,507 root INFO starting up network manager -21:49:14,507 root INFO starting up tcp server -21:49:14,509 root INFO starting up thread for client socket accepting -21:49:17,561 root INFO Connected with ('127.0.0.1', 50136) -21:49:17,561 root INFO starting client handler thread for client at address ('127.0.0.1', 50136) -21:49:17,562 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]} -21:49:17,562 root INFO user in message None -21:49:20,150 root INFO user logging in -21:49:20,182 root INFO task passed off to gameManager -21:49:20,214 root INFO creating user with id: > -21:49:20,319 root INFO new length of user dictionary: 1 -21:49:20,508 root INFO connected users 1 -21:49:20,539 root INFO confirming login for user -21:49:21,932 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]} -21:49:21,995 root INFO Received message from ('127.0.0.1', 50136): {"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]} -21:49:28,5 root INFO Connected with ('127.0.0.1', 50140) -21:49:28,5 root INFO starting client handler thread for client at address ('127.0.0.1', 50140) -21:49:28,6 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]} -21:49:28,7 root INFO user in message None -21:49:28,943 root INFO user logging in -21:49:28,975 root INFO task passed off to gameManager -21:49:29,39 root INFO creating user with id: > -21:49:29,153 root INFO new length of user dictionary: 2 -21:49:29,375 root INFO 2 players have join game starts -21:50:40,445 root INFO connected users 2 -21:51:12,743 root INFO confirming login for user -21:51:14,842 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]} -21:51:15,515 root INFO Received message from ('127.0.0.1', 50140): {"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]} -21:51:22,712 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 35452, 'x': 1114.0, 'y': 599.0} -21:51:22,712 root INFO user in message 35452 -21:51:28,960 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 35452, 'x': 1114.0, 'y': 599.0} diff --git a/OLD_Server/log/wdqxolbm.log b/OLD_Server/log/wdqxolbm.log deleted file mode 100644 index ad78473..0000000 --- a/OLD_Server/log/wdqxolbm.log +++ /dev/null @@ -1,47 +0,0 @@ -22:46:35,887 root INFO starting up server -22:46:35,888 root INFO starting up game manager -22:46:35,888 root INFO preparing to start server -22:46:35,888 root INFO starting up network manager -22:46:35,889 root INFO starting up network manager -22:46:35,889 root INFO starting up tcp server -22:46:35,890 root INFO starting up thread for client socket accepting -22:46:43,643 root INFO Connected with ('127.0.0.1', 51606) -22:46:43,643 root INFO starting client handler thread for client at address ('127.0.0.1', 51606) -22:46:43,645 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]} -22:46:43,649 root INFO user in message None -22:46:45,928 root INFO user logging in -22:46:45,961 root INFO task passed off to gameManager -22:46:45,994 root INFO creating user with id: > -22:46:46,152 root INFO new length of user dictionary: 1 -22:46:46,427 root INFO connected users 1 -22:46:46,461 root INFO confirming login for user -22:46:47,23 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]} -22:46:47,87 root INFO Received message from ('127.0.0.1', 51606): {"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]} -22:46:54,634 root INFO Connected with ('127.0.0.1', 51611) -22:46:54,634 root INFO starting client handler thread for client at address ('127.0.0.1', 51611) -22:46:54,636 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]} -22:46:54,636 root INFO user in message None -22:46:55,649 root INFO user logging in -22:46:55,670 root INFO task passed off to gameManager -22:46:55,753 root INFO creating user with id: > -22:46:55,912 root INFO new length of user dictionary: 2 -22:46:56,217 root INFO 2 players have join game starts -22:46:56,281 root INFO game manager is starting the game -22:46:56,639 root INFO connected users 2 -22:46:56,744 root INFO confirming login for user -22:46:57,245 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]} -22:46:57,267 root INFO Received message from ('127.0.0.1', 51611): {"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]} -22:51:59,765 root ERROR Connection with ('127.0.0.1', 51611) forcibly closed by remote host. -22:52:04,500 root ERROR Connection with ('127.0.0.1', 51606) forcibly closed by remote host. -22:52:08,317 root INFO Connected with ('127.0.0.1', 51743) -22:52:08,317 root INFO starting client handler thread for client at address ('127.0.0.1', 51743) -22:52:08,318 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]} -22:52:08,319 root INFO user in message None -22:52:10,75 root INFO user logging in -22:52:10,140 root INFO task passed off to gameManager -22:52:10,203 root INFO creating user with id: > -22:52:11,567 root INFO new length of user dictionary: 3 -22:52:11,673 root INFO connected users 3 -22:52:11,684 root INFO confirming login for user -22:52:12,84 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]} -22:52:12,95 root INFO Received message from ('127.0.0.1', 51743): {"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/xgoziiuu.log b/OLD_Server/log/xgoziiuu.log deleted file mode 100644 index a9aecf9..0000000 --- a/OLD_Server/log/xgoziiuu.log +++ /dev/null @@ -1,33 +0,0 @@ -23:05:43,273 root INFO starting up server -23:05:43,273 root INFO starting up game manager -23:05:43,274 root INFO preparing to start server -23:05:43,274 root INFO starting up network manager -23:05:43,274 root INFO starting up network manager -23:05:43,274 root INFO starting up tcp server -23:05:43,274 root INFO starting up thread for client socket accepting -23:05:53,367 root INFO Connected with ('127.0.0.1', 52107) -23:05:53,368 root INFO starting client handler thread for client at address ('127.0.0.1', 52107) -23:05:53,370 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]} -23:05:53,372 root INFO user in message None -23:05:55,184 root INFO user logging in -23:05:55,216 root INFO task passed off to gameManager -23:05:55,280 root INFO creating user with id: > -23:05:55,455 root INFO new length of user dictionary: 1 -23:05:55,666 root INFO connected users 1 -23:05:55,698 root INFO confirming login for user -23:05:56,135 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]} -23:05:56,178 root INFO Received message from ('127.0.0.1', 52107): {"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]} -23:05:59,541 root INFO Connected with ('127.0.0.1', 52110) -23:05:59,541 root INFO starting client handler thread for client at address ('127.0.0.1', 52110) -23:05:59,542 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]} -23:05:59,542 root INFO user in message None -23:06:00,450 root INFO user logging in -23:06:00,471 root INFO task passed off to gameManager -23:06:00,534 root INFO creating user with id: > -23:06:00,798 root INFO new length of user dictionary: 2 -23:06:00,913 root INFO 2 players have join game starts -23:06:01,42 root INFO game manager is starting the game -23:06:01,484 root INFO connected users 2 -23:06:01,506 root INFO confirming login for user -23:06:02,77 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]} -23:06:02,130 root INFO Received message from ('127.0.0.1', 52110): {"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/xtjfeaau.log b/OLD_Server/log/xtjfeaau.log new file mode 100644 index 0000000..c37963a --- /dev/null +++ b/OLD_Server/log/xtjfeaau.log @@ -0,0 +1,35 @@ +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/log/xwdjdxpk.log b/OLD_Server/log/xwdjdxpk.log deleted file mode 100644 index 99a5fc3..0000000 --- a/OLD_Server/log/xwdjdxpk.log +++ /dev/null @@ -1,68 +0,0 @@ -23:21:38,356 root INFO starting up server -23:21:38,356 root INFO starting up game manager -23:21:38,356 root INFO preparing to start server -23:21:38,356 root INFO starting up network manager -23:21:38,356 root INFO starting up network manager -23:21:38,356 root INFO starting up tcp server -23:21:38,357 root INFO starting up thread for client socket accepting -23:21:44,434 root INFO Connected with ('127.0.0.1', 52527) -23:21:44,434 root INFO starting client handler thread for client at address ('127.0.0.1', 52527) -23:21:44,435 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]} -23:21:44,435 root INFO user in message None -23:21:44,435 root INFO user logging in -23:21:44,435 root INFO task passed off to gameManager -23:21:44,435 root INFO creating user with id: > -23:21:44,435 root INFO new length of user dictionary: 1 -23:21:44,435 root INFO connected users 1 -23:21:44,435 root INFO confirming login for user -23:21:44,435 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]} -23:21:44,435 root INFO Received message from ('127.0.0.1', 52527): {"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]} -23:21:50,371 root INFO Connected with ('127.0.0.1', 52533) -23:21:50,371 root INFO starting client handler thread for client at address ('127.0.0.1', 52533) -23:21:50,371 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]} -23:21:50,371 root INFO user in message None -23:21:50,371 root INFO user logging in -23:21:50,371 root INFO task passed off to gameManager -23:21:50,371 root INFO creating user with id: > -23:21:50,371 root INFO new length of user dictionary: 2 -23:21:50,371 root INFO 2 players have join game starts -23:21:50,371 root INFO game manager is starting the game -23:21:50,372 root INFO connected users 2 -23:21:50,372 root INFO confirming login for user -23:21:50,372 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]} -23:21:50,372 root INFO Received message from ('127.0.0.1', 52533): {"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]} -23:22:54,888 root ERROR Connection with ('127.0.0.1', 52533) forcibly closed by remote host. -23:22:57,833 root INFO Connected with ('127.0.0.1', 52563) -23:22:57,833 root INFO starting client handler thread for client at address ('127.0.0.1', 52563) -23:22:57,833 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]} -23:22:57,833 root INFO user in message None -23:22:57,833 root INFO user logging in -23:22:57,833 root INFO task passed off to gameManager -23:22:57,833 root INFO creating user with id: > -23:22:57,833 root INFO new length of user dictionary: 3 -23:22:57,833 root INFO 2 players have join game starts -23:22:57,833 root INFO game manager is starting the game -23:22:57,833 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:22:57,833 root INFO connected users 3 -23:22:57,833 root INFO confirming login for user -23:22:57,833 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]} -23:22:57,834 root INFO Received message from ('127.0.0.1', 52563): {"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]} -23:23:18,244 root ERROR Connection with ('127.0.0.1', 52527) forcibly closed by remote host. -23:23:19,782 root INFO Connected with ('127.0.0.1', 52572) -23:23:19,782 root INFO starting client handler thread for client at address ('127.0.0.1', 52572) -23:23:19,783 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]} -23:23:19,783 root INFO user in message None -23:23:19,783 root INFO user logging in -23:23:19,783 root INFO task passed off to gameManager -23:23:19,783 root INFO creating user with id: > -23:23:19,783 root INFO new length of user dictionary: 4 -23:23:19,783 root INFO 2 players have join game starts -23:23:19,783 root INFO game manager is starting the game -23:23:19,783 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:23:19,783 root INFO connected users 4 -23:23:19,783 root INFO confirming login for user -23:23:19,783 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]} -23:23:19,783 root INFO Received message from ('127.0.0.1', 52572): {"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]} -23:23:21,105 root INFO decoded message {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 38451, 'x': 1127.0, 'y': 531.0} -23:23:21,106 root INFO user in message 38451 -23:23:21,106 root INFO incommingevent {'event': 'placecard', 'card': 1, 'type': 'Monster', 'user': 38451, 'x': 1127.0, 'y': 531.0} diff --git a/OLD_Server/log/yudopqjp.log b/OLD_Server/log/yudopqjp.log deleted file mode 100644 index 479b053..0000000 --- a/OLD_Server/log/yudopqjp.log +++ /dev/null @@ -1,67 +0,0 @@ -23:33:49,621 root INFO starting up server -23:33:49,621 root INFO starting up game manager -23:33:49,621 root INFO preparing to start server -23:33:49,621 root INFO starting up network manager -23:33:49,621 root INFO starting up network manager -23:33:49,621 root INFO starting up tcp server -23:33:49,622 root INFO starting up thread for client socket accepting -23:33:54,167 root INFO Connected with ('127.0.0.1', 52836) -23:33:54,167 root INFO starting client handler thread for client at address ('127.0.0.1', 52836) -23:33:54,167 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]} -23:33:54,170 root INFO user in message None -23:33:54,170 root INFO user logging in -23:33:54,170 root INFO task passed off to gameManager -23:33:54,170 root INFO creating user with id: > -23:33:54,170 root INFO new length of user dictionary: 1 -23:33:54,170 root INFO connected users 1 -23:33:54,170 root INFO confirming login for user -23:33:54,170 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]} -23:33:54,170 root INFO Received message from ('127.0.0.1', 52836): {"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]} -23:33:59,531 root INFO Connected with ('127.0.0.1', 52844) -23:33:59,532 root INFO starting client handler thread for client at address ('127.0.0.1', 52844) -23:33:59,532 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]} -23:33:59,532 root INFO user in message None -23:33:59,532 root INFO user logging in -23:33:59,532 root INFO task passed off to gameManager -23:33:59,532 root INFO creating user with id: > -23:33:59,532 root INFO new length of user dictionary: 2 -23:33:59,532 root INFO 2 players have join game starts -23:33:59,532 root INFO game manager is starting the game -23:33:59,532 root INFO connected users 2 -23:33:59,532 root INFO confirming login for user -23:33:59,532 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]} -23:33:59,532 root INFO Received message from ('127.0.0.1', 52844): {"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]} -23:34:41,586 root ERROR Connection with ('127.0.0.1', 52844) forcibly closed by remote host. -23:34:43,778 root ERROR Connection with ('127.0.0.1', 52836) forcibly closed by remote host. -23:34:45,599 root INFO Connected with ('127.0.0.1', 52864) -23:34:45,600 root INFO starting client handler thread for client at address ('127.0.0.1', 52864) -23:34:45,600 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]} -23:34:45,601 root INFO user in message None -23:34:45,601 root INFO user logging in -23:34:45,601 root INFO task passed off to gameManager -23:34:45,601 root INFO creating user with id: > -23:34:45,601 root INFO new length of user dictionary: 3 -23:34:45,601 root INFO 2 players have join game starts -23:34:45,601 root INFO game manager is starting the game -23:34:45,601 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:34:45,602 root INFO connected users 3 -23:34:45,602 root INFO confirming login for user -23:34:45,602 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]} -23:34:45,602 root INFO Received message from ('127.0.0.1', 52864): {"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]} -23:34:52,232 root INFO Connected with ('127.0.0.1', 52870) -23:34:52,232 root INFO starting client handler thread for client at address ('127.0.0.1', 52870) -23:34:52,233 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]} -23:34:52,233 root INFO user in message None -23:34:52,233 root INFO user logging in -23:34:52,233 root INFO task passed off to gameManager -23:34:52,233 root INFO creating user with id: > -23:34:52,233 root INFO new length of user dictionary: 4 -23:34:52,233 root INFO 2 players have join game starts -23:34:52,233 root INFO game manager is starting the game -23:34:52,233 root ERROR failed to start game due to error: object of type 'NoneType' has no len() -23:34:52,233 root INFO connected users 4 -23:34:52,233 root INFO confirming login for user -23:34:52,233 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]} -23:34:52,233 root INFO Received message from ('127.0.0.1', 52870): {"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]} -23:35:06,448 root ERROR Connection with ('127.0.0.1', 52870) forcibly closed by remote host. -23:35:09,441 root ERROR Connection with ('127.0.0.1', 52864) forcibly closed by remote host. diff --git a/OLD_Server/log/yxojocbd.log b/OLD_Server/log/yxojocbd.log deleted file mode 100644 index 59118dd..0000000 --- a/OLD_Server/log/yxojocbd.log +++ /dev/null @@ -1,33 +0,0 @@ -22:52:35,47 root INFO starting up server -22:52:35,47 root INFO starting up game manager -22:52:35,47 root INFO preparing to start server -22:52:35,48 root INFO starting up network manager -22:52:35,48 root INFO starting up network manager -22:52:35,48 root INFO starting up tcp server -22:52:35,48 root INFO starting up thread for client socket accepting -22:52:39,563 root INFO Connected with ('127.0.0.1', 51765) -22:52:39,563 root INFO starting client handler thread for client at address ('127.0.0.1', 51765) -22:52:39,564 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]} -22:52:39,566 root INFO user in message None -22:52:40,945 root INFO user logging in -22:52:40,976 root INFO task passed off to gameManager -22:52:41,8 root INFO creating user with id: > -22:52:41,125 root INFO new length of user dictionary: 1 -22:52:41,303 root INFO connected users 1 -22:52:41,324 root INFO confirming login for user -22:52:41,819 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]} -22:52:41,851 root INFO Received message from ('127.0.0.1', 51765): {"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]} -22:52:45,441 root INFO Connected with ('127.0.0.1', 51768) -22:52:45,441 root INFO starting client handler thread for client at address ('127.0.0.1', 51768) -22:52:45,442 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]} -22:52:45,443 root INFO user in message None -22:52:46,369 root INFO user logging in -22:52:46,401 root INFO task passed off to gameManager -22:52:46,453 root INFO creating user with id: > -22:52:46,549 root INFO new length of user dictionary: 2 -22:52:46,783 root INFO 2 players have join game starts -22:52:46,867 root INFO game manager is starting the game -22:52:47,205 root INFO connected users 2 -22:52:47,216 root INFO confirming login for user -22:52:47,857 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]} -22:52:47,868 root INFO Received message from ('127.0.0.1', 51768): {"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]}

    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 diff --git a/card files/arena _field/Card_Template.fbx b/card files/arena _field/Card_Template.fbx deleted file mode 100644 index 60462f0ee6897415f6d48fecbda1cc2c59b88e39..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12892 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 BX>b4l diff --git a/card files/arena _field/Card_Template.mtl b/card files/arena _field/Card_Template.mtl deleted file mode 100644 index 22ae829..0000000 --- a/card files/arena _field/Card_Template.mtl +++ /dev/null @@ -1,13 +0,0 @@ -# Blender MTL File: 'Card_Template.blend' -# Material Count: 1 - -newmtl Material -Ns 250.000000 -Ka 1.000000 1.000000 1.000000 -Kd 0.800000 0.800000 0.800000 -Ks 0.500000 0.500000 0.500000 -Ke 0.000000 0.000000 0.000000 -Ni 1.450000 -d 1.000000 -illum 2 -map_Kd arena_field.png diff --git a/card files/arena _field/Card_Template.obj b/card files/arena _field/Card_Template.obj deleted file mode 100644 index 0415c6a..0000000 --- a/card files/arena _field/Card_Template.obj +++ /dev/null @@ -1,40 +0,0 @@ -# Blender v3.4.1 OBJ File: 'Card_Template.blend' -# www.blender.org -mtllib Card_Template.mtl -o Cube_Cube.001 -v -1.779980 -0.015007 2.505141 -v -1.779980 0.015007 2.505141 -v -1.779980 -0.015007 -2.505141 -v -1.779980 0.015007 -2.505141 -v 1.779980 -0.015007 2.505141 -v 1.779980 0.015007 2.505141 -v 1.779980 -0.015007 -2.505141 -v 1.779980 0.015007 -2.505141 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -usemtl Material -s off -f 1/1/1 2/2/1 4/3/1 3/4/1 -f 3/4/2 4/3/2 8/5/2 7/6/2 -f 7/6/3 8/5/3 6/7/3 5/8/3 -f 5/8/4 6/7/4 2/9/4 1/10/4 -f 3/11/5 7/6/5 5/8/5 1/12/5 -f 8/5/6 4/13/6 2/14/6 6/7/6 diff --git a/card files/arena _field/arena_field.png b/card files/arena _field/arena_field.png deleted file mode 100644 index 958adc21b9b54812a8bbf52f059dc4f912e6c011..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28951 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 diff --git a/card files/arena _field/arena_vield.psd b/card files/arena _field/arena_vield.psd deleted file mode 100644 index a8c67356cae9fd1b355982661c374d95c132310b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202700 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