From aaf957ba0cec1a70463250b6a85b02514b10bade Mon Sep 17 00:00:00 2001 From: Aleksey Lim Date: Thu, 29 Jan 2009 11:26:24 +0000 Subject: Share scores between players --- diff --git a/game.py b/game.py index 769f368..4626a32 100644 --- a/game.py +++ b/game.py @@ -112,10 +112,10 @@ class MemorizeGame(GObject): self.emit('change_game_signal', mode, self.get_grid(), - self.get_data(), + self.model.data, self.waiting_players, self.model.data['game_file']) - self.emit('change_game', self.get_data(), self.get_grid()) + self.emit('change_game', self.model.data, self.get_grid()) for buddy in self.players: self.players_score[buddy] = 0 self.current_player = None @@ -284,14 +284,19 @@ class MemorizeGame(GObject): self.emit('highlight-card', id, True) - def increase_point(self, buddy): - self.players_score[buddy] += 1 - self.emit('increase-score', buddy) + def increase_point(self, buddy, inc=1): + self.players_score[buddy] += inc + for i in range(inc): + self.emit('increase-score', buddy) def get_grid(self): return self.model.grid - def get_data(self): + def collect_data(self): + for player, score in self.players_score.items(): + index = self.players.index(player) + score = self.players_score[player] + self.model.data[str(index)] = str(score) return self.model.data def change_game(self, widget, game_name, size, mode, title = None, color= None): diff --git a/messenger.py b/messenger.py index 65ce900..3748880 100644 --- a/messenger.py +++ b/messenger.py @@ -82,7 +82,7 @@ class Messenger(ExportedGObject): remote_object = self._tube.get_object(sender, PATH) remote_object.load_game(self.ordered_bus_names, self.game.get_grid(), - self.game.get_data(), + self.game.collect_data(), self.game.players.index(self.game.current_player), #self.game.waiting_players, path) @@ -93,6 +93,11 @@ class Messenger(ExportedGObject): self.player_id = bus_names.index(self._tube.get_unique_name()) #self.game.load_waiting_list(list) self._change_game_receiver(data['mode'], grid, data, path) + + for i in range(len(self.game.players)): + self.game.increase_point(self.game.players[i], + int(data.get(str(i), '0'))) + self.game.current_player = self.game.players[current_player] self.game.update_turn() -- cgit v0.9.1