New game with difficulty selection.
[naja.git] / naja / gamestate.py
index d5c624c4882513ba7cf27201bf8ec29c263429f8..134fba3bad70649c1ed39b6bc08c1c2b535839d0 100644 (file)
@@ -18,12 +18,17 @@ class GameState(object):
     Naja game state.
     """
 
-    def __init__(self, data=None):
+    def __init__(self, gameboard):
+        self.gameboard = gameboard
+
+    @classmethod
+    def new(cls, **kw):
         locations_deck = load_location_deck('standard')
-        if data is None:
-            self.gameboard = GameBoard.new_game(locations_deck['cards'])
-        else:
-            self.gameboard = GameBoard.import_game(data)
+        return cls(GameBoard.new_game(locations_deck['cards'], **kw))
+
+    @classmethod
+    def load(cls, data):
+        return cls(GameBoard.import_game(data))
 
     @property
     def player(self):