From 0c961c2a1252d0ee9d656516761b350f977d263d Mon Sep 17 00:00:00 2001 From: Olivier Gayot Date: Thu, 4 Jun 2015 23:22:05 +0100 Subject: transmit a new card to the player using a notification when it's time for another turn, we send a notification to the user plus its new card so he does not need to execute a query again. Signed-off-by: Olivier Gayot --- CAO_Game.py | 12 +++++++++++- CAO_Player.py | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CAO_Game.py b/CAO_Game.py index a77b376..27a5567 100644 --- a/CAO_Game.py +++ b/CAO_Game.py @@ -140,7 +140,17 @@ class CAO_Game(): # reset the state of the players for p in self.players: if p.get_has_played: - p.receive_card(self.board.pick_white_card()) + idx = p.receive_card(self.board.pick_white_card()) + card_idx = p.cards[idx] + card_desc = self.white_desc[card_idx] + + p.send_notification({ + 'op': 'received_card', + 'card': { + 'id': idx, + 'desc': card_desc, + }, + }) p.set_has_played(False) self.board.recycle_black_card() diff --git a/CAO_Player.py b/CAO_Player.py index a4dc326..91e6351 100644 --- a/CAO_Player.py +++ b/CAO_Player.py @@ -28,6 +28,7 @@ class CAO_Player(): def receive_card(self, card): self.cards[self.next_idx] = card self.next_idx += 1 + return self.next_idx - 1 def send_notification(self, obj): if self.client is None: -- cgit v1.2.3