diff options
author | Walter Bender <walter.bender@gmail.com> | 2011-04-02 14:01:30 (GMT) |
---|---|---|
committer | Walter Bender <walter.bender@gmail.com> | 2011-04-02 14:01:30 (GMT) |
commit | 7ba7ab3527049279f0f0c112cc5d384959ebceae (patch) | |
tree | bdb3a8b4ec7b0cd4a3d9e9986302c5cec898fe8f | |
parent | 1b30746b7551d9f85ec0708ecf89a54b3d4217a1 (diff) |
catch problem with game over infinite loop when sharing
-rw-r--r-- | PathsActivity.py | 6 | ||||
-rw-r--r-- | deck.py | 3 | ||||
-rw-r--r-- | game.py | 4 | ||||
-rw-r--r-- | grid.py | 2 | ||||
-rw-r--r-- | hand.py | 2 | ||||
-rwxr-xr-x | path.py | 2 |
6 files changed, 8 insertions, 11 deletions
diff --git a/PathsActivity.py b/PathsActivity.py index e8bd810..5ae1b4f 100644 --- a/PathsActivity.py +++ b/PathsActivity.py @@ -39,7 +39,7 @@ from dbus.gobject_service import ExportedGObject from sugar.presence import presenceservice from sugar.presence.tubeconn import TubeConnection -import gettextutil +from gettext import gettext as _ import locale import os.path @@ -279,7 +279,6 @@ class PathsActivity(activity.Activity): self._game.deck) if 'index' in self.metadata: - print 'deck index', self.metadata['index'] self._game.deck.index = int(self.metadata['index']) else: self._game.deck.index = ROW * COL - self._game.grid.tiles_in_grid() @@ -448,7 +447,8 @@ state=%d' % (id, initiator, type, service, params, state)) def _game_over(self, payload): ''' Someone cannot plce a tile. ''' - self._game.game_over() + if not self._game.saw_game_over: + self._game.game_over() def _sending_deck(self, payload): ''' Sharer sends the deck. ''' @@ -135,9 +135,6 @@ class Deck: # deck.append(self.tiles[order[i]]) deck.append(self.tiles[i]) self.tiles = deck[:] - print 'restoring deck' - for i in range(COL * ROW): - print self.tiles[i].number def clear(self): ''' Remove any highlight from the tiles. ''' @@ -14,6 +14,8 @@ import gtk import gobject +from gettext import gettext as _ + import logging _logger = logging.getLogger('paths-activity') @@ -123,6 +125,7 @@ class Game(): self._score_card.set_layer(HIDE) self._score_card.move(((int(self._width / 2) - self.tile_width), int(self._height / 2) - self.tile_height)) + self.saw_game_over = False def _initiating(self): if not self._running_sugar: @@ -485,6 +488,7 @@ class Game(): def game_over(self, msg=_('Game over')): ''' Nothing left to do except show the results. ''' self._set_label(msg) + self.saw_game_over = True if self.hands[self._my_hand].tiles_in_hand() == 0: self.score += 50 # Bonus points else: @@ -64,14 +64,12 @@ class Grid: ''' Restore tiles to grid upon resume or share. ''' self.hide() grid = json_load(grid_as_text) - print 'restoring grid' for i in range(ROW * COL): if grid[i][0] is None: self.grid[i] = None else: for k in range(ROW * COL): if deck.tiles[k].number == grid[i][0]: - print k, '-->', i self.add_tile_to_grid(k, grid[i][1], i, deck) break self.show() @@ -79,7 +79,6 @@ class Hand: def restore(self, hand_as_text, deck, buddy=False): ''' Restore tiles to hand upon resume or share. ''' hand = json_load(hand_as_text) - print 'restoring hand' if buddy: offset = 1 # skip the buddy else: @@ -91,7 +90,6 @@ class Hand: else: for k in range(ROW * COL): if deck.tiles[k].number == hand[i]: - print k, '-->', tile self.hand[tile] = deck.tiles[k] self.hand[tile].spr.move(self.hand_to_xy(tile)) self.hand[tile].spr.set_layer(TILES) @@ -14,7 +14,7 @@ import gtk -import gettextutil +from gettext import gettext as _ import os from game import Game |