diff --git a/source/constants.py b/source/constants.py index 2c16e03..4f64aa7 100755 --- a/source/constants.py +++ b/source/constants.py @@ -658,11 +658,12 @@ CHOOSE = 'choose' PLAY = 'play' # 记录本地存储文件初始值 -INIT_USERDATA = { LEVEL_NUM:1, - LITTLEGAME_NUM:1, - LEVEL_COMPLETIONS:0, - LITTLEGAME_COMPLETIONS:0, - } +INIT_USERDATA = { + LEVEL_NUM:1, + LITTLEGAME_NUM:1, + LEVEL_COMPLETIONS:0, + LITTLEGAME_COMPLETIONS:0, + } # 无穷大常量 -INF = float("inf") # python传递字符串性能较低,故在这里对inf声明一次,以后仅需调用即可 +INF = float("inf") # python传递字符串性能较低,故在这里对inf声明一次,以后仅需调用即可,虽然真正的用处是可以自动补全( diff --git a/source/tool.py b/source/tool.py index 29f4fa8..9dab9a7 100755 --- a/source/tool.py +++ b/source/tool.py @@ -46,7 +46,6 @@ class Control(): with open(c.USERDATA_PATH) as f: userdata = json.load(f) # 导入数据 - self.game_info = {c.CURRENT_TIME:0} # 时间信息需要新建 self.game_info.update(userdata) except FileNotFoundError: # 不存在存档即新建 @@ -55,8 +54,9 @@ class Control(): with open(c.USERDATA_PATH, "w") as f: savedata = json.dumps(c.INIT_USERDATA, sort_keys=True, indent=4) f.write(savedata) - self.game_info = userdata - self.game_info[c.CURRENT_TIME] = 0 # 时间信息需要新建 + self.game_info = c.INIT_USERDATA.copy() # 内部全是不可变对象,浅拷贝即可 + # 存档内不包含即时游戏时间信息,需要新建 + self.game_info[c.CURRENT_TIME] = 0 def setup_states(self, state_dict, start_state):