diff options
author | Gonzalo Odiard <godiard@gmail.com> | 2014-08-09 04:21:15 (GMT) |
---|---|---|
committer | Gonzalo Odiard <godiard@gmail.com> | 2014-08-09 04:21:15 (GMT) |
commit | 7ac568a3f2dd04d78d429ae38d49480d6cfff2c9 (patch) | |
tree | a0eedc99b9a1ba733538e2d9d9daeb0248a1c9d3 | |
parent | 2246982f77352f948d08b8aaa670b03849983667 (diff) |
Improve end of game control
-rw-r--r-- | dominoactivity.py | 23 |
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, |