diff --git a/backend/characters.py b/backend/characters.py index 5ddbb4c..bbe7aa1 100644 --- a/backend/characters.py +++ b/backend/characters.py @@ -9,6 +9,8 @@ class Character(ABC): self.visibility_mod = 0 self.pick_mod = 0 self.desc = desc + self.icon = '🤷‍♂️' + self.number = ''.join(['❤️']*self.max_lives) # @abstractmethod # def on_hurt(self, dmg: int): @@ -40,6 +42,7 @@ class BlackJack(Character): class CalamityJanet(Character): def __init__(self): super().__init__("Calamity Janet", max_lives=4) + self.icon = '🤷‍♀️' class ElGringo(Character): def __init__(self): @@ -72,6 +75,7 @@ class PedroRamirez(Character): class RoseDoolan(Character): def __init__(self): super().__init__("Rose Doolan", max_lives=4) + self.icon = '🤷‍♀️' class SidKetchum(Character): def __init__(self): diff --git a/backend/deck.py b/backend/deck.py index b6e108f..c0b068f 100644 --- a/backend/deck.py +++ b/backend/deck.py @@ -3,9 +3,10 @@ import random from cards import Card, get_starting_deck class Deck: - def __init__(self, sio): + def __init__(self, game): super().__init__() self.cards: List[Card] = get_starting_deck() + self.game = game random.shuffle(self.cards) self.scrap_pile: List[Card] = [] print(f'Deck initialized with {len(self.cards)} cards') @@ -13,7 +14,7 @@ class Deck: def peek(self, n_cards: int) -> list: return self.cards[:n_cards] - def peek_scrap_pile(self,) -> Card: + def peek_scrap_pile(self) -> Card: if len(self.scrap_pile) > 0: return self.scrap_pile[-1] else: @@ -35,8 +36,10 @@ class Deck: def draw_from_scrap_pile(self) -> Card: if len(self.scrap_pile) > 0: return self.scrap_pile.pop(0) + self.game.notify_scrap_pile() else: return self.draw() def scrap(self, card: Card): - self.scrap_pile.append(card) \ No newline at end of file + self.scrap_pile.append(card) + self.game.notify_scrap_pile() diff --git a/backend/game.py b/backend/game.py index e7bb22c..c298d8a 100644 --- a/backend/game.py +++ b/backend/game.py @@ -53,7 +53,7 @@ class Game: self.sio.emit('chat_message', room=self.name, data=f'La partita sta iniziando...') self.sio.emit('start', room=self.name) self.started = True - self.deck = Deck(self.sio) + self.deck = Deck(self) self.choose_characters() def distribute_roles(self): @@ -86,6 +86,10 @@ class Game: self.turn = (self.turn + 1) % len(self.players) self.play_turn() + def notify_scrap_pile(self): + print('scrap') + self.sio.emit('scrap', room=self.name, data=self.deck.peek_scrap_pile().__dict__) + # game = Game() # p1 = players.Player('p1') diff --git a/frontend/src/components/Deck.vue b/frontend/src/components/Deck.vue index 52f689d..b838110 100644 --- a/frontend/src/components/Deck.vue +++ b/frontend/src/components/Deck.vue @@ -1,10 +1,6 @@