Mercurial > skaapsteker
comparison skaapsteker/gamestate.py @ 632:0675f390653c
Initial port to Python 3 and Pygame 2.
author | Simon Cross <hodgestar@gmail.com> |
---|---|
date | Fri, 20 Jan 2023 20:01:06 +0100 |
parents | a91b2e4400a5 |
children |
comparison
equal
deleted
inserted
replaced
631:672e6e7ecfe9 | 632:0675f390653c |
---|---|
28 | 28 |
29 def __setattr__(self, key, value): | 29 def __setattr__(self, key, value): |
30 self._data[key] = value | 30 self._data[key] = value |
31 | 31 |
32 def __iter__(self): | 32 def __iter__(self): |
33 return self._data.iterkeys() | 33 return self._data.keys() |
34 | 34 |
35 def __contains__(self, key): | 35 def __contains__(self, key): |
36 return key in self._data | 36 return key in self._data |
37 | 37 |
38 def copy(self): | 38 def copy(self): |
53 | 53 |
54 def load_game(self, game_file=None): | 54 def load_game(self, game_file=None): |
55 if game_file is None: | 55 if game_file is None: |
56 game_file = self._game_file | 56 game_file = self._game_file |
57 raw_data = open(game_file, "rb").read() | 57 raw_data = open(game_file, "rb").read() |
58 self.data = json.loads(raw_data, encoding='utf-8') | 58 self.data = json.loads(raw_data) |
59 self.world = StateProxy(self.data, self) | 59 self.world = StateProxy(self.data, self) |
60 | 60 |
61 def new_game(self): | 61 def new_game(self): |
62 self.load_game(data.filepath("game.json")) | 62 self.load_game(data.filepath("game.json")) |
63 if options['all_tails']: | 63 if options['all_tails']: |
78 return | 78 return |
79 save_dir, _ = os.path.split(self._game_file) | 79 save_dir, _ = os.path.split(self._game_file) |
80 if not os.path.exists(save_dir): | 80 if not os.path.exists(save_dir): |
81 try: | 81 try: |
82 os.makedirs(save_dir) | 82 os.makedirs(save_dir) |
83 except: | 83 except Exception: |
84 print "Cannot create save game directory." | 84 print("Cannot create save game directory.") |
85 return | 85 return |
86 try: | 86 try: |
87 json.dump(self.data, open(self._game_file, "wb"), indent=4) | 87 with open(self._game_file, "w") as f: |
88 except: | 88 json.dump(self.data, f, indent=4) |
89 print "Cannot create save game file." | 89 except Exception: |
90 print("Cannot create save game file.") | |
90 | 91 |
91 def create_sprites(self, level): | 92 def create_sprites(self, level): |
92 sprites = [] | 93 sprites = [] |
93 for stype, key in [ | 94 for stype, key in [ |
94 ('items', 'items'), | 95 ('items', 'items'), |