From c16957e67d502e57248deaa45e33a83d6dda3379 Mon Sep 17 00:00:00 2001 From: Alan Aguiar Date: Mon, 30 Dec 2013 04:15:38 +0000 Subject: add player label --- diff --git a/activity.py b/activity.py index d507833..126526f 100755 --- a/activity.py +++ b/activity.py @@ -21,7 +21,7 @@ class ReversiActivity(activity.Activity): def __init__(self, handle): activity.Activity.__init__(self, handle) - self.game = reversi.ReversiController() + self.game = reversi.ReversiController(self) self.build_toolbar() self._pygamecanvas = sugargame.canvas.PygameCanvas(self) self.set_canvas(self._pygamecanvas) @@ -40,6 +40,24 @@ class ReversiActivity(activity.Activity): self.build_colors_toolbar(toolbar_box) separator = gtk.SeparatorToolItem() + toolbar_box.toolbar.insert(separator, -1) + separator.show() + + #current + item = gtk.ToolItem() + label = gtk.Label() + label.set_text(' %s ' % _('Current player:')) + item.add(label) + toolbar_box.toolbar.insert(item, -1) + + #player + item = gtk.ToolItem() + self.current_label = gtk.Label() + self.current_label.set_text(' %s' % 1) + item.add(self.current_label) + toolbar_box.toolbar.insert(item, -1) + + separator = gtk.SeparatorToolItem() separator.props.draw = False separator.set_expand(True) toolbar_box.toolbar.insert(separator, -1) @@ -199,3 +217,6 @@ class ReversiActivity(activity.Activity): b = color.blue *255 / 65535 return (r, g, b) + def set_current_player(self, player): + self.current_label.set_text(' %s' % player) + diff --git a/reversi.py b/reversi.py index 4c42d78..b1f1281 100755 --- a/reversi.py +++ b/reversi.py @@ -578,7 +578,8 @@ class PlayerModel: class ReversiModel: - def __init__(self, grid_size): + def __init__(self, parent, grid_size): + self.parent = parent self.grid_size = grid_size self.current_player = 1 @@ -611,7 +612,8 @@ class ReversiModel: def set_current_player(self, player_number): self.current_player = player_number - + self.parent.set_current_player(self.current_player) + def get_active_player_number(self): return self.current_player @@ -663,8 +665,8 @@ class ReversiModel: class ReversiController: - def __init__(self): - + def __init__(self, parent=None): + self.parent = parent random.seed() self.clock = pygame.time.Clock() @@ -770,6 +772,10 @@ class ReversiController: global background_board_color background_board_color = color self.view.update_from_model(self.model) + + def set_current_player(self, player): + if self.parent is not None: + self.parent.set_current_player(player) def run(self): global screen_size @@ -808,7 +814,7 @@ class ReversiController: self.view = ReversiView(self, screen_size, (num_columns, num_rows)) # Create board model - self.model = ReversiModel((num_columns, num_rows)) + self.model = ReversiModel(self, (num_columns, num_rows)) # Setup start state self.set_state("StartGame") -- cgit v0.9.1