diff --git a/backend/deck.py b/backend/deck.py index 1db8952..736966b 100644 --- a/backend/deck.py +++ b/backend/deck.py @@ -39,7 +39,7 @@ class Deck: def draw_from_scrap_pile(self) -> Card: if len(self.scrap_pile) > 0: - card = self.scrap_pile.pop(0) + card = self.scrap_pile.pop(-1) self.game.notify_scrap_pile() return card else: diff --git a/backend/game.py b/backend/game.py index 6a1140f..bb5e9b1 100644 --- a/backend/game.py +++ b/backend/game.py @@ -157,7 +157,10 @@ class Game: def notify_scrap_pile(self): print('scrap') - self.sio.emit('scrap', room=self.name, data=self.deck.peek_scrap_pile().__dict__) + if self.deck.peek_scrap_pile(): + self.sio.emit('scrap', room=self.name, data=self.deck.peek_scrap_pile().__dict__) + else: + self.sio.emit('scrap', room=self.name, data=None) def handle_disconnect(self, player: players.Player): print(f'player {player.name} left the game {self.name}') diff --git a/backend/players.py b/backend/players.py index 883ed93..cc594e0 100644 --- a/backend/players.py +++ b/backend/players.py @@ -135,7 +135,7 @@ class Player: if pile == 'scrap' and isinstance(self.character, characters.PedroRamirez): self.hand.append(self.game.deck.draw_from_scrap_pile()) self.hand.append(self.game.deck.draw()) - if type(pile) == str and pile != self.name and pile in self.game.players_map and isinstance(self.character, characters.JesseJones) and len(self.game.get_player_named(pile).hand) > 0: + elif type(pile) == str and pile != self.name and pile in self.game.players_map and isinstance(self.character, characters.JesseJones) and len(self.game.get_player_named(pile).hand) > 0: self.hand.append(self.game.get_player_named(pile).hand.pop(randrange(0, len(self.game.get_player_named(pile).hand)))) self.hand.append(self.game.deck.draw()) else: