From 5e2488695ea4d64d6d0a2d26aa099777af84dab0 Mon Sep 17 00:00:00 2001 From: Olivier Gayot Date: Thu, 4 Jun 2015 04:47:05 +0100 Subject: the cards of a player are stored in a map the problem with the list is that when we take a card in the middle, the following indexes are shifted. It is inconvenient to shift them on the end user side's so we use a map with incremented indexes. Signed-off-by: Olivier Gayot --- CAO_Game.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'CAO_Game.py') diff --git a/CAO_Game.py b/CAO_Game.py index 3738277..c6072a5 100644 --- a/CAO_Game.py +++ b/CAO_Game.py @@ -38,7 +38,11 @@ class CAO_Game(): except IndexError: return cao_error('no enough white cards for player') - player = CAO_Player(client, cards) + player = CAO_Player(client) + + for card in cards: + player.receive_card(card) + client.set_player(player) client.set_game(self) @@ -122,7 +126,7 @@ class CAO_Game(): # reset the state of the players for p in self.players: if p.get_has_played: - p.cards.append(self.board.pick_white_card()) + p.receive_card(self.board.pick_white_card()) p.set_has_played(False) self.board.recycle_black_card() @@ -136,7 +140,7 @@ class CAO_Game(): cards = [] for card in player.cards: - cards.append(self.white_desc[card]) + cards.append((card, self.white_desc[player.cards[card]])) return cao_success(cards) -- cgit v1.2.3