From 04f4b65d428de45ff74aac19f7c7ae5fcde50bd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=9F=E5=A4=96=E4=B9=8B=E7=A5=9E?= Date: Wed, 27 Jul 2022 09:18:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E5=AD=98=E6=A1=A3?= =?UTF-8?q?=E6=97=B6=E6=B2=A1=E6=9C=89=E5=88=9D=E5=A7=8B=E5=8C=96game=5Fin?= =?UTF-8?q?fo=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/constants.py | 13 +++++++------ source/tool.py | 6 +++--- 2 files changed, 10 insertions(+), 9 deletions(-) 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):