summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Gayot <duskcoder@gmail.com>2015-06-04 04:47:05 +0100
committerOlivier Gayot <duskcoder@gmail.com>2015-06-04 04:47:05 +0100
commit5e2488695ea4d64d6d0a2d26aa099777af84dab0 (patch)
treeda4ec442fe56674dd4f1454d3ed399183b5c7536
parent8a78e43e456b57c26843f9524b4e34fcf0d5913a (diff)
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 <duskcoder@gmail.com>
-rw-r--r--CAO_Game.py10
-rw-r--r--CAO_Player.py10
2 files changed, 15 insertions, 5 deletions
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)
diff --git a/CAO_Player.py b/CAO_Player.py
index 9501a46..94ff2cf 100644
--- a/CAO_Player.py
+++ b/CAO_Player.py
@@ -1,6 +1,8 @@
class CAO_Player():
- def __init__(self, client, cards):
- self.cards = cards
+ def __init__(self, client):
+ self.cards = {}
+ self.next_idx = 0
+
self.client = client
self.score = 0
@@ -21,3 +23,7 @@ class CAO_Player():
def inc_score(self):
self.score += 1
+
+ def receive_card(self, card):
+ self.cards[self.next_idx] = card
+ self.next_idx += 1