Make chess puzzle level (Kasparov to F3) winnable.
[naja.git] / naja / gamestate.py
index 134fba3bad70649c1ed39b6bc08c1c2b535839d0..d00c7fc182b8af7887b4f1fab472b38f25ebf35f 100644 (file)
@@ -2,15 +2,15 @@
 The current game state.
 """
 
-import yaml
-
 from naja.gameboard import GameBoard
-from naja.resources import resources
+from naja.resources import resources, ResourceNotFound
 
 
 def load_location_deck(name):
-    with resources.get_file('location_decks', '%s.yaml' % (name,)) as deck_fp:
-        return yaml.safe_load(deck_fp)
+    try:
+        return resources.get_yaml('location_decks', '%s.yaml' % name)
+    except ResourceNotFound:
+        return resources.get_json('location_decks', '%s.json' % name)
 
 
 class GameState(object):
@@ -22,9 +22,9 @@ class GameState(object):
         self.gameboard = gameboard
 
     @classmethod
-    def new(cls, **kw):
-        locations_deck = load_location_deck('standard')
-        return cls(GameBoard.new_game(locations_deck['cards'], **kw))
+    def new(cls, deck='standard', **kw):
+        deck = load_location_deck(deck)
+        return cls(GameBoard.new_game(deck, **kw))
 
     @classmethod
     def load(cls, data):