More location deck things.
[naja.git] / naja / gamestate.py
index 9dca03026f773869e126e71647358dbfdba354d1..c8bbbc7acc67c54ec1d5827c3e3ddcb70be3bfd7 100644 (file)
@@ -2,9 +2,15 @@
 The current game state.
 """
 
-from .constants import NORTH, SOUTH, EAST, WEST
-from .gameboard import GameBoard
-from .player import Player
+import yaml
+
+from naja.gameboard import GameBoard
+from naja.resources import resources
+
+
+def load_location_deck(name):
+    with resources.get_file('location_decks', '%s.yaml' % (name,)) as deck_fp:
+        return yaml.safe_load(deck_fp)
 
 
 class GameState(object):
@@ -12,11 +18,16 @@ class GameState(object):
     Naja game state.
     """
 
-    INITIAL_BITS = NORTH | SOUTH | EAST | 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.
+        locations_deck = load_location_deck('test')
+        self.gameboard = GameBoard.new_game(locations_deck['cards'])
+
+    @property
+    def player(self):
+        return self.gameboard.player
+
+    @property
+    def board_locations(self):
+        return self.gameboard.board_locations