Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGonzalo Odiard <godiard@gmail.com>2014-08-09 04:21:15 (GMT)
committer Gonzalo Odiard <godiard@gmail.com>2014-08-09 04:21:15 (GMT)
commit7ac568a3f2dd04d78d429ae38d49480d6cfff2c9 (patch)
treea0eedc99b9a1ba733538e2d9d9daeb0248a1c9d3
parent2246982f77352f948d08b8aaa670b03849983667 (diff)
Improve end of game control
-rw-r--r--dominoactivity.py23
1 files changed, 18 insertions, 5 deletions
diff --git a/dominoactivity.py b/dominoactivity.py
index 166c4e7..ccf2050 100644
--- a/dominoactivity.py
+++ b/dominoactivity.py
@@ -168,12 +168,27 @@ class Domino(activity.Activity):
ctx.paint()
# test end game (se puede poner en otro metodo)
+ end_game, win = self.check_game_end()
+
+ if end_game:
+ self.add_points_by_name(self.game.processor.get_name(), win)
+ self.game.table.msg_end_game(ctx, win)
+ else:
+ player = self.game.ui_player
+ # Dibujo la pieza seleccionada
+ player.get_pieces()[player.order_piece_selected].draw(ctx, True)
+
+ def check_game_end(self):
end_game = False
win = False
- # Dibujo la pieza seleccionada
player = self.game.ui_player
- player.get_pieces()[player.order_piece_selected].draw(ctx, True)
+
+ if len(player.get_pieces()) == 0:
+ return True, True
+
+ if len(self.game.players[0].get_pieces()) == 0:
+ return True, False
for player in self.game.players:
# dibujo las piezas del jugador
@@ -207,9 +222,7 @@ class Domino(activity.Activity):
if player_with_minus_pieces == player:
win = True
- if end_game:
- self.add_points_by_name(self.game.processor.get_name(), win)
- self.game.table.msg_end_game(ctx, win)
+ return end_game, win
def __event_cb(self, widget, event):
if event.type in (Gdk.EventType.TOUCH_BEGIN,