Add property to get at board_locations
[naja.git] / naja / gamestate.py
index a2eb77b2de2aea3dae40fee8a08d5e12272af3cd..bbe92d362fa47c9a316afd4d4d52b9fd0957c94a 100644 (file)
@@ -2,9 +2,8 @@
 The current game state.
 """
 
-from naja.constants import BITS
 from naja.gameboard import GameBoard
-from naja.player import Player
+from naja.constants import BITS
 
 
 class GameState(object):
@@ -12,14 +11,24 @@ class GameState(object):
     Naja game state.
     """
 
-    INITIAL_BITS = (
-        BITS.NORTH | BITS.SOUTH |
-        BITS.EAST | BITS.WEST
-    )
-    MAX_HEALTH = 4
-    WINS_REQUIRED = 4
-
     def __init__(self):
-        self.player = Player(self.INITIAL_BITS, (0, 0))
-        self.gameboard = GameBoard(
-            self.player, self.MAX_HEALTH, self.WINS_REQUIRED)
+        # This is a very simple deck to allow testing more drawing logic
+        # on tiles. These will need to be replaced with better stuff.
+        self.gameboard = GameBoard.new_game(
+            locations_definition=[
+                {'actions': []},
+                {'actions': [{'required_bits': [BITS['CYAN']],
+                              'action_class': 'DoNothing'}]},
+                {'actions': [{'required_bits': [BITS['YELLOW']],
+                              'action_class': 'DoNothing'}]},
+                {'actions': [{'required_bits': [BITS['YELLOW'], BITS['MAGENTA']],
+                              'action_class': 'DoNothing'}]},
+                ])
+
+    @property
+    def player(self):
+        return self.gameboard.player
+
+    @property
+    def board_locations(self):
+        return self.gameboard.board_locations