More location deck things.
[naja.git] / naja / gamestate.py
index bbe92d362fa47c9a316afd4d4d52b9fd0957c94a..c8bbbc7acc67c54ec1d5827c3e3ddcb70be3bfd7 100644 (file)
@@ -2,8 +2,15 @@
 The current game state.
 """
 
+import yaml
+
 from naja.gameboard import GameBoard
-from naja.constants import BITS
+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):
@@ -14,16 +21,8 @@ class GameState(object):
     def __init__(self):
         # 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'}]},
-                ])
+        locations_deck = load_location_deck('test')
+        self.gameboard = GameBoard.new_game(locations_deck['cards'])
 
     @property
     def player(self):