diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-03-13 13:28:12 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-03-13 13:28:12 (GMT) |
commit | 0279518276390439777a351a770c9e98b23d6ab3 (patch) | |
tree | 6ff4e6612f2575f1661750e8b7ae8275e9f7c0f1 /deck.py | |
parent | cb523a3e3f4687e49f1c900898f3659e8b92fd97 (diff) |
refactoring in anticipation of sharing
Diffstat (limited to 'deck.py')
-rw-r--r-- | deck.py | 27 |
1 files changed, 14 insertions, 13 deletions
@@ -15,7 +15,7 @@ from random import randrange from card import Card, board_card from genpieces import generate_tile_1_line, generate_tile_2_lines - +from utils import json_dump, json_load HIDE = 0 BOARD = 1 @@ -117,19 +117,20 @@ class Deck: order[size - 1 - i] = a return order - def restore(self, saved_deck_indices): - ''' Restore the deck upon resume. ''' - decksize = len(saved_deck_indices) - # If we have a short deck, then we need to abort. - if self.count() < decksize: - return False - _deck = [] - for i in saved_deck_indices: - _deck.append(self.index_to_card(i)) - for i in range(decksize): - self.cards[i] = _deck[i] - return True + def serialize(self): + ''' Serialize the deck for passing to share and saving ''' + order = [] + for i in range(64): + order.append(self.cards[i].number) + return json_dump(order) + def restore(self, deck_as_text): + ''' Restore the deck upon resume. ''' + deck = [] + order = json_load(deck_as_text) + for i in order: + deck.append(self.cards[order[i]]) + self.cards = deck[:] def clear(self): ''' Remove any highlight from the cards. ''' |