修复无存档时没有初始化game_info的bug
This commit is contained in:
parent
b4a3fa993d
commit
04f4b65d42
@ -658,11 +658,12 @@ CHOOSE = 'choose'
|
|||||||
PLAY = 'play'
|
PLAY = 'play'
|
||||||
|
|
||||||
# 记录本地存储文件初始值
|
# 记录本地存储文件初始值
|
||||||
INIT_USERDATA = { LEVEL_NUM:1,
|
INIT_USERDATA = {
|
||||||
LITTLEGAME_NUM:1,
|
LEVEL_NUM:1,
|
||||||
LEVEL_COMPLETIONS:0,
|
LITTLEGAME_NUM:1,
|
||||||
LITTLEGAME_COMPLETIONS:0,
|
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:
|
with open(c.USERDATA_PATH) as f:
|
||||||
userdata = json.load(f)
|
userdata = json.load(f)
|
||||||
# 导入数据
|
# 导入数据
|
||||||
self.game_info = {c.CURRENT_TIME:0} # 时间信息需要新建
|
|
||||||
self.game_info.update(userdata)
|
self.game_info.update(userdata)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
# 不存在存档即新建
|
# 不存在存档即新建
|
||||||
@ -55,8 +54,9 @@ class Control():
|
|||||||
with open(c.USERDATA_PATH, "w") as f:
|
with open(c.USERDATA_PATH, "w") as f:
|
||||||
savedata = json.dumps(c.INIT_USERDATA, sort_keys=True, indent=4)
|
savedata = json.dumps(c.INIT_USERDATA, sort_keys=True, indent=4)
|
||||||
f.write(savedata)
|
f.write(savedata)
|
||||||
self.game_info = userdata
|
self.game_info = c.INIT_USERDATA.copy() # 内部全是不可变对象,浅拷贝即可
|
||||||
self.game_info[c.CURRENT_TIME] = 0 # 时间信息需要新建
|
# 存档内不包含即时游戏时间信息,需要新建
|
||||||
|
self.game_info[c.CURRENT_TIME] = 0
|
||||||
|
|
||||||
|
|
||||||
def setup_states(self, state_dict, start_state):
|
def setup_states(self, state_dict, start_state):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user