Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter 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)
commit7ba7ab3527049279f0f0c112cc5d384959ebceae (patch)
treebdb3a8b4ec7b0cd4a3d9e9986302c5cec898fe8f
parent1b30746b7551d9f85ec0708ecf89a54b3d4217a1 (diff)
catch problem with game over infinite loop when sharing
-rw-r--r--PathsActivity.py6
-rw-r--r--deck.py3
-rw-r--r--game.py4
-rw-r--r--grid.py2
-rw-r--r--hand.py2
-rwxr-xr-xpath.py2
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. '''
diff --git a/deck.py b/deck.py
index 08307e3..384e12a 100644
--- a/deck.py
+++ b/deck.py
@@ -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. '''
diff --git a/game.py b/game.py
index 124fb71..3899628 100644
--- a/game.py
+++ b/game.py
@@ -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:
diff --git a/grid.py b/grid.py
index cea3558..c58c3b5 100644
--- a/grid.py
+++ b/grid.py
@@ -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()
diff --git a/hand.py b/hand.py
index 3c07df1..2be4182 100644
--- a/hand.py
+++ b/hand.py
@@ -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)
diff --git a/path.py b/path.py
index a244b07..a8ff866 100755
--- a/path.py
+++ b/path.py
@@ -14,7 +14,7 @@
import gtk
-import gettextutil
+from gettext import gettext as _
import os
from game import Game