From 7ac568a3f2dd04d78d429ae38d49480d6cfff2c9 Mon Sep 17 00:00:00 2001 From: Gonzalo Odiard Date: Sat, 09 Aug 2014 04:21:15 +0000 Subject: Improve end of game control --- 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, -- cgit v0.9.1