annotate gamelib/tests/repl_game.py @ 23:f6a3b213857b

Fix up some game state logic, add very basic REPL game interface.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 06 May 2012 19:06:28 +0200
parents
children 5d699b1f7188
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
1 from gamelib.gamestate import Game
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
2
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
3
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
4 class ReplGame(object):
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
5 def __init__(self, init_data=None):
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
6 self.game = Game(init_data=init_data)
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
7 self._begin_turn()
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
8
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
9 def _begin_turn(self):
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
10 self.game.start_turn()
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
11 self.display_state()
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
12
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
13 def display_state(self):
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
14 print "Game:", self.game
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
15 print "Science:"
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
16 for science in self.game.lab.science:
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
17 print " %s %s (%s)" % (
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
18 "*" if science.can_spend(self.game.lab) else "-",
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
19 science.NAME, science.points)
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
20
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
21 def next_turn(self, research_list, missions):
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
22 self.game.cur_allocation.extend(research_list)
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
23 self.game.cur_missions.extend(missions)
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
24 self.game.end_turn()
f6a3b213857b Fix up some game state logic, add very basic REPL game interface.
Jeremy Thurgood <firxen@gmail.com>
parents:
diff changeset
25 self._begin_turn()