# HG changeset patch # User Neil Muller # Date 1336503113 -7200 # Node ID 364ff3479ef276774a0672b15542eb3df22f8a41 # Parent 38f41d046c6f33548a263af38369d9225f1fcb68 Remove duplicate point tracking. Rename classes for future refactoring diff -r 38f41d046c6f -r 364ff3479ef2 gamelib/gamegui.py --- a/gamelib/gamegui.py Tue May 08 17:29:02 2012 +0200 +++ b/gamelib/gamegui.py Tue May 08 20:51:53 2012 +0200 @@ -57,29 +57,27 @@ science.points), font_small) def on_click(self): - if (self.parent.available_points > 0 and + if (self.parent.game.get_available_points() > 0 and self.science.can_spend(self.parent.game.lab, self.points + 1)): self.points += 1 self.text = '%s: %d + %d' % (self.science.NAME, self.science.points, self.points) - self.parent.available_points -= 1 self._draw_text() + self.parent.game.cur_allocation.append(self.science) def reset(self): - self.parent.available_points += self.points - self.points = 0 + while self.points > 0: + self.parent.game.cur_allocation.remove(self.science) + self.points -= 1 self.text = '%s: %d' % (self.science.NAME, self.science.points) self._draw_text() - def get_spend(self): - return [self.science] * self.points - -class GameWindow(Window): - """Main window for the game""" +class LabWindow(Window): + """Window for the research lab""" def __init__(self, screen): - super(GameWindow, self).__init__(screen) + super(LabWindow, self).__init__(screen) self.game = Game() exit = ExitGameButton() self.add_child(exit) @@ -90,8 +88,6 @@ self.game.start_turn() - self.available_points = self.game.points - self._sciences = [] self._make_science_widgets() @@ -110,9 +106,6 @@ y += 100 def end_turn(self): - # Generate spend list - for widget in self._sciences: - self.game.cur_allocation.extend(widget.get_spend()) self.game.end_turn() # FIXME: Horrible hackery for widget in self._sciences: @@ -120,7 +113,6 @@ self._sciences = [] self._make_science_widgets() self.game.start_turn() - self.available_points = self.game.points def reset(self): for widget in self._sciences: diff -r 38f41d046c6f -r 364ff3479ef2 gamelib/gamestate.py --- a/gamelib/gamestate.py Tue May 08 17:29:02 2012 +0200 +++ b/gamelib/gamestate.py Tue May 08 20:51:53 2012 +0200 @@ -45,6 +45,9 @@ available = [x for x in self.missions if x.can_attempt(self)] return available + def get_available_points(self): + return self.points - len(self.cur_allocation) + def end_turn(self): # Attempt the missions mission_results = [] diff -r 38f41d046c6f -r 364ff3479ef2 gamelib/mainmenu.py --- a/gamelib/mainmenu.py Tue May 08 17:29:02 2012 +0200 +++ b/gamelib/mainmenu.py Tue May 08 20:51:53 2012 +0200 @@ -8,7 +8,7 @@ from gamelib.gui_base import Window from gamelib.gui import BigButton from gamelib.engine import AddWindow -from gamelib.gamegui import GameWindow +from gamelib.gamegui import LabWindow from gamelib.constants import WIDTH, HEIGHT @@ -59,7 +59,7 @@ self.add_child(button2) def start_new_game(self): - self.game_window = GameWindow(self.screen) + self.game_window = LabWindow(self.screen) if not self.resume: # Add the resume button self.resume = ResumeGameButton(self)