X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fgamestate.py;h=a32438170e3c5663366850cde744027507b57ceb;hb=3e460450c1baa9af43f5391ba4673a599071656b;hp=c3bc0ce96b75c27bd14bbe49b3daad3c20ee0ef9;hpb=5dd0651aca74ffdac3c6c069fde62e43dc6960bd;p=naja.git diff --git a/naja/gamestate.py b/naja/gamestate.py index c3bc0ce..a324381 100644 --- a/naja/gamestate.py +++ b/naja/gamestate.py @@ -2,15 +2,23 @@ The current game state. """ -import yaml +try: + import yaml +except ImportError: + yaml = None + import json 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) + if yaml: + with resources.get_file('location_decks', '%s.yaml' % name) as deck_fp: + return yaml.safe_load(deck_fp) + else: + with resources.get_file('location_decks', '%s.json' % name) as deck_fp: + return json.load(deck_fp) class GameState(object): @@ -23,8 +31,8 @@ class GameState(object): @classmethod def new(cls, deck='standard', **kw): - locations_deck = load_location_deck(deck) - return cls(GameBoard.new_game(locations_deck['cards'], **kw)) + deck = load_location_deck(deck) + return cls(GameBoard.new_game(deck, **kw)) @classmethod def load(cls, data):