From de93f6def28f0107f4e1ba2999f23edcb65537e0 Mon Sep 17 00:00:00 2001 From: Ariel Calzada Date: Thu, 10 Jan 2013 14:29:43 +0000 Subject: The approach followed has been simply to save the current-game image when closing the game. The game resumes from that image next time onwards. Tests conducted :: a) (i) User exits, without finishing the current game. (ii) When she next starts, she will proceed from the same game, from the same stage. b) (i) User exits, without finishing the current game. (ii) She then transfers the journal-entry to another XO. (iii) Tries to resume the game, from the (transferred) journal entry. (iv) Game resumes, from the same stage. --- (limited to 'game.py') diff --git a/game.py b/game.py index c5e54d1..9d21b4b 100644 --- a/game.py +++ b/game.py @@ -57,7 +57,7 @@ class MemorizeGame(GObject): 'change-turn': (SIGNAL_RUN_FIRST, None, [TYPE_PYOBJECT]), } - def __init__(self): + def __init__(self, activity_instance): gobject.GObject.__init__(self) self.myself = None self.players_score = {} @@ -70,7 +70,7 @@ class MemorizeGame(GObject): self.messenger = None self.sentitive = True - self.model = Model() + self.model = Model(activity_instance=activity_instance) self.flip_block = False self._flop_cards = None @@ -109,6 +109,16 @@ class MemorizeGame(GObject): self.change_turn() self.model.data['running'] = 'False' + # Card 'state' is an aawesome field. + # Its takes on the following values :: + # + # 0 ==> for flopped cards. + # + # 1 ==> for flipped unmatched cards + # (can be a maximum of 1 such card). + # + # , ==> for flipped matched cards + for card in self.model.grid: if card['state'] == '1': self.emit('flip-card', self.model.grid.index(card), False) -- cgit v0.9.1