Add scaffolding for puzzle levels (no actual puzzle support yet).
[naja.git] / naja / gamestate.py
index c8bbbc7acc67c54ec1d5827c3e3ddcb70be3bfd7..c3bc0ce96b75c27bd14bbe49b3daad3c20ee0ef9 100644 (file)
@@ -18,11 +18,17 @@ class GameState(object):
     Naja game state.
     """
 
-    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.
-        locations_deck = load_location_deck('test')
-        self.gameboard = GameBoard.new_game(locations_deck['cards'])
+    def __init__(self, gameboard):
+        self.gameboard = gameboard
+
+    @classmethod
+    def new(cls, deck='standard', **kw):
+        locations_deck = load_location_deck(deck)
+        return cls(GameBoard.new_game(locations_deck['cards'], **kw))
+
+    @classmethod
+    def load(cls, data):
+        return cls(GameBoard.import_game(data))
 
     @property
     def player(self):