From afa2d779a1888fc90fcb68a300d8b64e144eb1de Mon Sep 17 00:00:00 2001 From: steev Date: Sun, 14 Jan 2024 21:18:37 +0100 Subject: [PATCH] attempt to fix sending placecard event on client side --- .../Cards/__pycache__/Card.cpython-311.pyc | Bin 6044 -> 6048 bytes .../__pycache__/MonsterCard.cpython-311.pyc | Bin 5657 -> 5661 bytes .../__pycache__/SpellCard.cpython-311.pyc | Bin 4747 -> 4751 bytes .../__pycache__/TrapCard.cpython-311.pyc | Bin 4723 -> 4727 bytes .../__pycache__/GameStart.cpython-311.pyc | Bin 1181 -> 1181 bytes .../Events/__pycache__/Login.cpython-311.pyc | Bin 1261 -> 1265 bytes .../__pycache__/PlaceCard.cpython-311.pyc | Bin 1947 -> 1953 bytes .../__pycache__/BoardField.cpython-311.pyc | Bin 5037 -> 5037 bytes .../Game/__pycache__/Player.cpython-311.pyc | Bin 2761 -> 2761 bytes .../Game/__pycache__/World.cpython-311.pyc | Bin 10501 -> 10505 bytes Game_Client/Classes/System/App.py | 58 +++++++++--------- .../__pycache__/InputHandler.cpython-311.pyc | Bin 3269 -> 3305 bytes .../__pycache__/Label.cpython-311.pyc | Bin 3655 -> 3655 bytes .../__pycache__/Window.cpython-311.pyc | Bin 3667 -> 3667 bytes .../__pycache__/EventHandler.cpython-311.pyc | Bin 2899 -> 2919 bytes .../__pycache__/TCPClient.cpython-311.pyc | Bin 3475 -> 3475 bytes .../System/__pycache__/App.cpython-311.pyc | Bin 9675 -> 9718 bytes 17 files changed, 28 insertions(+), 30 deletions(-) diff --git a/Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/Card.cpython-311.pyc index db2cd585fffa710609572a5312457f3cb39a1eff..512380d69be46b648ed4e1e184934f6634e47cc6 100644 GIT binary patch delta 51 zcmbQEzd)aRIWI340}zzx&DqGE$H7=Uxr!rPcqbzRLj%JNZs7?ep@HEBxA26bF1rr9&3iZ!c>xNS B3`YO} diff --git a/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/SpellCard.cpython-311.pyc index 1832c8a60646d569f2bcc0100dd4544ac8198853..cbbd764d06d24e7042c39500ef7cf09cfb7b60bd 100644 GIT binary patch delta 51 zcmeBH?N{Yq&dbZi00gZHb2f56XJag${FyCLn1_*pp@HEBxA26bF1rs5jGSJKo0Hi! FxB*^o4SN6p delta 47 zcmeBI?N;Sp&dbZi00e6G^EPrnXJZVW{FyD0pM#Nsp@HEBxA26bF1rr9&FSnK+yEad B44MD{ diff --git a/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc b/Game_Client/Classes/Game/Cards/__pycache__/TrapCard.cpython-311.pyc index b7fcf13d97a45be1c0651eb4d78b304e16d0c763..9c588ed57fa4ac50d6e1f004913b6474a470426c 100644 GIT binary patch delta 51 zcmeyY@?C{{IWI340}!+-%-P6&i;b~(@-w!0VJ=1nh6aWk+`zv@IWI340}!a$&)dj-i;XdO@-w!0el|u1h6aWk+`??e1>gVx diff --git a/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc b/Game_Client/Classes/Game/Events/__pycache__/Login.cpython-311.pyc index a50672ee97e3317bab2fbeb6d9226ac19f3d1825..726c1a4e89f162ce1629e1347de1a91a6119ab79 100644 GIT binary patch delta 87 zcmaFM`H_=*IWI340}vcgoU@VJjES*$vlEjSqnQy5!B*@?-E(MS&{)WGn7ov)+f3cJJ%&r9s87uZ$r ea`1NKUF49x!XbMBhCVPeaHs+0HXmZvX9NJIz!!1= diff --git a/Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc b/Game_Client/Classes/Game/Events/__pycache__/PlaceCard.cpython-311.pyc index f7eca6e1d3464d73aac0a1910f23dfafce4a5ad5..e9e0c43887c3ad3265818ec7288305755745d5c5 100644 GIT binary patch delta 71 zcmbQuzmT76IWI340}w>pZ{+f0Vl3Vq$<)Inyb>tVz;J_|yQB6JyUYg$4p!dD-&hP; VKQOQYSz4?h785J)<~UYcCID-Z5h?%x delta 65 zcmZ3;KbxOxIWI340}$+#-N@y~#2CCelBtJDa4}G%f#C)_cSr3dc9{$8GLwI>7&2er Rl$or@3ZkVqr?A>G0RS975e)zU diff --git a/Game_Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc b/Game_Client/Classes/Game/__pycache__/BoardField.cpython-311.pyc index 17a0ef412ccfa9c493c8e7762e6caf215dcad7f8..72f14ce69bc343978edefc4686690df17989a297 100644 GIT binary patch delta 27 hcmZ3hzE+)kIWI340}w>pFWJbg#l~2?*^I567XV(g29N*% delta 27 hcmZ3hzE+)kIWI340}xa@%-hJV#l{%C*^I567XV**28#dy diff --git a/Game_Client/Classes/Game/__pycache__/Player.cpython-311.pyc b/Game_Client/Classes/Game/__pycache__/Player.cpython-311.pyc index 81c3a644fd50532d6fc7a6864074b10fe649fa97..52459288af1e3978ac2b678520475a93d30425b2 100644 GIT binary patch delta 27 hcmX>pdQy~oIWI340}!+-%-P6Y#Kc&pdQy~oIWI340}!a$&)djd#Kai9xsJ)30{~zV2A}`{ diff --git a/Game_Client/Classes/Game/__pycache__/World.cpython-311.pyc b/Game_Client/Classes/Game/__pycache__/World.cpython-311.pyc index 17d6e55b2a9f9a835c10d5dccd9e42dc19a8d767..eb436c3a52777d7a603d40783ab110c451e063a4 100644 GIT binary patch delta 69 zcmZn->I~vu&dbZi00cq0b2f7SV`VJf%*ECs!5A>PUrvqn0|O(k!DKlFxy{$)9qoU2-;zV6GCo_9cGZ R3;ep1cge|Zc2GFU0RTK8 diff --git a/Game_Client/Classes/System/App.py b/Game_Client/Classes/System/App.py index b51fbc3..92d62a0 100644 --- a/Game_Client/Classes/System/App.py +++ b/Game_Client/Classes/System/App.py @@ -47,12 +47,12 @@ class App: # 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")) + 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) @@ -79,7 +79,7 @@ class App: # handles incoming event queue def handleEvent(self, events): # TODO: fix bug that stacks cards when dragging them around - selectedCard = None + self.selectedCard = None for event in events: if event.type == pygame.QUIT: @@ -89,23 +89,22 @@ class App: mouse_pos = pygame.Vector2(mouse_x, mouse_y) for card in self.__world.getCards(): - if card.rect.collidepoint(mouse_pos) and selectedCard == None: - if card.getState() == "onHand": - card.setDragging(True) - 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) + 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]: @@ -116,20 +115,19 @@ class App: 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: - if card == selectedCard: - card.setDragging(False) - # TODO: send place card event to server - # resets the currently selected card in order to prevent it getting moved + 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 selectedCard == None: - selectedCard = None + if not card == None: + card = None # sets the running state for the gameloop def setRunning(self, running:bool): diff --git a/Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/InputHandler.cpython-311.pyc index 9b98f1c37fd3e2ca4c333043e56672bd32d44548..10e97a11cd39f98f0dc149cdedf725649e5f39f8 100644 GIT binary patch delta 166 zcmX>q`BIX5IWI340}!+-%-P7jgORa#^AScz4#sPf*|=isKQJ)z%7TecaMl9#72X$> z%n)I#{+)hj*=oChRyr9*qHz? Cpf4u? delta 112 zcmaDUc~p{nIWI340}!a$&)dkogOM?K^AScz4#rKB*|=goFYucK(IqgsKz)VxMI|T) lA^{|KxF0CJV3P_&m%!wS@(Yov7yY3;hzyY2e1S`n2>^h5D;WR) diff --git a/Game_Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/Label.cpython-311.pyc index f0331e9668411ab81dee80a15d59b2332cf028e6..507c28237ba5f19032f3a0755c0d5633a47a7119 100644 GIT binary patch delta 27 hcmX>ub6kddIWI340}!+-%-P6&iiNRw^EH-2P5^2t2jc($ delta 27 hcmX>ub6kddIWI340}!a$&)dj-iiI(F^EH-2P5@=%2ZaCt diff --git a/Game_Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc b/Game_Client/Classes/System/Components/__pycache__/Window.cpython-311.pyc index ef524635a9acada8f82d08acd03da778d6e731f9..1867184feb2f90acf6a4b439ca9cb808da86ecff 100644 GIT binary patch delta 27 hcmcaCb6JLaIWI340}w>pFWJal&cax{xtZkxCje;22eAME delta 27 hcmcaCb6JLaIWI340}w3nnzxa=oP{xXb2G~YP5^972j2hy diff --git a/Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc b/Game_Client/Classes/System/Network/__pycache__/EventHandler.cpython-311.pyc index e60a3e62b79655b5756a4c0cc08a974f85d238c7..3b0d39544d5e0fdbc45ed37ce3a2df3ad8d408a2 100644 GIT binary patch delta 232 zcmcaC_FRm6IWI340}vcgoU@U;kCCx>^DM?HR(%d828ITP8{9$@%&%}u&nUmdt@eRI zmQ(Nnk3fgZ4PKE6;a7NN7f4^?)%n06#VI)1p52M{1A`cl)xzElWC;UVLL5`-KQM4| z3f@4`By)*Z_X7hvy0F|OUi}XYtZ2d)6iqMjntotl#t=8V#B26}fe|YHff>jGbBhFk TzVXxKxWy44pSM|((~1cIcRECm delta 185 zcmaDZc3F&jIWI340}!a$&)dk|$H*AGc@|?8tM(U028ITP8{9$@%&%}u&nUmdt#*N1 z?E#NKhszCKkqO~fcx4wzU*grdz^gOancayQM0c@w18MEaQXErsFYxN#Kv67ni5F8) t?h>#51z!Eh4>^R@F7TS7=(wP0c8S;Q0kpE;1TS%K4?2>@qxJUIXW diff --git a/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc b/Game_Client/Classes/System/Network/__pycache__/TCPClient.cpython-311.pyc index 04c59e8f1d5e872ce4d90e4139d334bea4c480cf..62eed0f0a8dbb34f322082533ab301f828e2838f 100644 GIT binary patch delta 27 hcmbO%Jz1K2IWI340}vcgoU@Vp0yAUr<~z*WIRRsR2n7HD delta 27 hcmbO%Jz1K2IWI340}!a$&)dj-ftfLQ^Bv~xoB&(z2WtQT diff --git a/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc b/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc index 81b1c6802f6ab60a68da4ff47829e7bc3a10567f..c0c8d20327a425681f31dbab27b786e0ae9cd824 100644 GIT binary patch delta 2200 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