From 286225fd6427b9ae202ba0b8e2363ebe5ac51d13 Mon Sep 17 00:00:00 2001 From: steev Date: Tue, 12 Dec 2023 22:35:10 +0100 Subject: [PATCH] card can resize back to normal size but loses details on each time doing it --- .../Classes/Objects/Cards/MonsterCard.py | 2 ++ .../__pycache__/MonsterCard.cpython-311.pyc | Bin 4957 -> 5130 bytes Game_Client/Classes/System/App.py | 15 +++++++++++++-- .../System/__pycache__/App.cpython-311.pyc | Bin 5645 -> 6861 bytes 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Game_Client/Classes/Objects/Cards/MonsterCard.py b/Game_Client/Classes/Objects/Cards/MonsterCard.py index 42a05db..5db509c 100644 --- a/Game_Client/Classes/Objects/Cards/MonsterCard.py +++ b/Game_Client/Classes/Objects/Cards/MonsterCard.py @@ -33,6 +33,8 @@ class MonsterCard(pygame.sprite.Sprite): 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) diff --git a/Game_Client/Classes/Objects/Cards/__pycache__/MonsterCard.cpython-311.pyc b/Game_Client/Classes/Objects/Cards/__pycache__/MonsterCard.cpython-311.pyc index 0cdb2d2d44cdfb2ed571d4cf75a6f8a9d0f6629a..6c3e275afa3afc8a2d7be07258db49665d1d7557 100644 GIT binary patch delta 1080 zcmcbs)}_I>oR^o20SGQ%tVm_y+{nkp%=lolB(nw6We2ON&$Ef#wu50r?6FMf#H`aLO}kP2Rv6#%M5E zk4I0+2q>Y+SfmA{Rx%cWv=uXg)B=_IbIFPtfCNB6(!g+oU%0340*7po!Q@6RGYP0h zcA#951xOW4+j%ZUM&rpJxr8A$Fd9uZ;a1>5QIf!|D`p1L!woa}3ctby4h5jmKsUjR z=D;xeCAYqqC7M3P3ml3NeX<}Y0X+e7E{c;teB;TLJTjs-Ak7Hx)L-C`L$VX77vvxm zy^}xisEXR7YOB4#A%m)o6GK}8ue_)esrzzn95&;0aNIN&g4YF|3F713I$6=fD8kNp+1oHi^C>2KczG$)vhRd@;M<-H+M!x Z$qx+J$q8yxbgu}heFRH?!J!CjHUK(p=QaQU delta 1004 zcmeCuxU0suoR^o20SNxhtw^2Av5}99nXzfJB(nw6^rZBG5}J%f>Og8GV-ZMOF(XJVQ0X5oSy4TZ0LVcN3^(|Nd+IK5$QJ2N z*5fvlfNEq1$`zS{RKc{>a4U)$0tG%Jv{hf=kOFE0+Q+Cr`60Ig4~hm}9$hgLkO|yC z0&LF}euWDh3J@JIi#ULis1{A*(HApE)2DcWLlL6S59C0gmq4yS(Ffui0EsGb-~7Dd zlGGyS#G(|v^wbiUqQvy{%)E3fpd^x?>o0J~AvpzTB*>j8Moyl~t14=Xs;%|{hYYGV zP7H0beDb0WsM@M7a7ZF)(_}2-#n3jLPf@@bBx(sFbU}pjGUsb{rNxy^~P(N=6 z5CZkX?RQ1eFMy)oT0maH2T8xE1W-R$2M_}F7YS%Hs!yIL;Ok-xR8k}kA}m0J4T!J< z5ujKr0(%_fiy{vY;RPZz;K*k1VFm)gYOraAR zllg@H19JqQaIjP;$S`oA>Ht~4IBatBQ%ZAE?TR8MR||W(xiT_Jeqg{(PEebodqqg? MBUt(i4n<(I0m8`5;s5{u diff --git a/Game_Client/Classes/System/App.py b/Game_Client/Classes/System/App.py index a14731e..55ce3ca 100644 --- a/Game_Client/Classes/System/App.py +++ b/Game_Client/Classes/System/App.py @@ -74,7 +74,7 @@ class App: if field.getSide() == "Player": if field.getType() == "MonsterField" and card.getType() == "MonsterCard": # todo: resize card so that it fits into the card field - # card.image = pygame.transform.scale(card.image, (field.getSize()[0] - 10, field.getSize()[1] - 10)) + card.image = pygame.transform.scale(card.image, (field.getSize()[0] - 10, field.getSize()[1] - 10)) card.rect.center = field.rect.center field.image = card.image.copy() card.setDragging(False) @@ -82,9 +82,20 @@ class App: 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.cards: - card.setDragging(False) + if card.rect.collidepoint(mouse_pos): + for field in self.__world.getBoardFields(): + if field.getRect().collidepoint(mouse_pos): + # Überprüfe, ob das Spielfeld ein MonsterField und die Karte eine MonsterCard ist + if field.getSide() == "Player" and field.getType() == "MonsterField" and card.getType() == "MonsterCard": + # Setze die Karte zurück, wenn sie aus dem Spielfeld herausgezogen wird + card.image = pygame.transform.scale(card.image, card.original_size) + card.rect.center = card.original_position + card.setDragging(False) + break # sets the running state for the gameloop def setRunning(self, running:bool): diff --git a/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc b/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc index 322bc39b6e69e905b1d0fe00b116a19d961f7fa2..efc2627f079c1660e75a3fe8c1dd10824f4e2675 100644 GIT binary patch delta 1424 zcmaJy``mpZYia}V04tRTVaiV(m7 zec$=c`F_9ie*e!7-4(4?4e+?mza8M3zSMoLHmk5J!}H$vBmf_S1oVK6jG0D1sV~7D zWN9>`cN!NI%SkdpA}zEajfRqEU~~)})J)?I(}@xqpW-ti<1e!HdJvBU>?`0V1U1) z8S-g4hHsW7xU|0n@9r-_WPb@>ds2eYdI?Cj#_#{oO0wRpM^VcP+8Rri5S6_3t^V+)ZeS5U;x%!L94MUb0Y3>1`$ zf%xg*N}xcV354T;C>qgsS_;}oG`JWH&xK}VQp`|u&qiXwco5C&x!y7S_t!w)bf5?h ztL!Doymu_GZ%(g#I&txJK~EP!kJgU<)c47{@oJ@fu!LgNv)FD@TFC-zL9FeV58kEeRt_WiZRVk>kz_+>pBFtOnJ#P|HMqEl|6C~WLX<@_rnByO2wRF^e_JZ!_x~eWF8UAL0e@Ej delta 675 zcmX?W+N;C2oR^o20SFGAt4LkJw~=otmpB`c%M8Sy_W{Z23^j}{3=^;Dkt&kGbT

%llRE^JINV->?A8>Uyj`%Lk1aVhuOzkT7Hej1VtVT2d?DG% z>x8n^ZUB`uFx(K8{=gu`Y48z5bhzH&7wM^*8#X8U62Ha=21#Cn$@aq9%;G>gSJ~e2UcEvMch&mjsPJFfj8P z+z^(SVza>TlCa7L1|~s+8wx5*xIQp2iW-2487wy>WUfnST$0dOA$n0l|B8hE1u**g z!4&8qu+t`IiTN=GOx`J`%@{TLsn{yUxXBa54>JZ$4v|o1d@#8}ViCVID^Mw%u$inS xc}pq|6tIdQLLNx`;;_lhPbtkwwJS=QEGJc9AI``q_JILA`4KGs1&1uyPymZ*rUw83