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 0cdb2d2..6c3e275 100644 Binary files a/Game_Client/Classes/Objects/Cards/__pycache__/MonsterCard.cpython-311.pyc and b/Game_Client/Classes/Objects/Cards/__pycache__/MonsterCard.cpython-311.pyc differ 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 322bc39..efc2627 100644 Binary files a/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc and b/Game_Client/Classes/System/__pycache__/App.cpython-311.pyc differ