修复无存档时没有初始化game_info的bug
This commit is contained in:
parent
b4a3fa993d
commit
04f4b65d42
@ -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声明一次,以后仅需调用即可,虽然真正的用处是可以自动补全(
|
||||
|
||||
@ -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):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user