将初始存档直接保存到常数文件

This commit is contained in:
星外之神 2022-07-27 09:09:33 +08:00
parent edf1898b8c
commit b4a3fa993d
3 changed files with 8 additions and 12 deletions

View File

@ -657,10 +657,11 @@ SLEEP = 'sleep'
CHOOSE = 'choose'
PLAY = 'play'
# 记录本地存储文件需要记录哪些内容
USERDATA_KEYS = { LEVEL_NUM, LITTLEGAME_NUM,
LEVEL_COMPLETIONS,
LITTLEGAME_COMPLETIONS,
# 记录本地存储文件初始值
INIT_USERDATA = { LEVEL_NUM:1,
LITTLEGAME_NUM:1,
LEVEL_COMPLETIONS:0,
LITTLEGAME_COMPLETIONS:0,
}
# 无穷大常量

View File

@ -64,7 +64,7 @@ class Level(tool.State):
with open(c.USERDATA_PATH, "w") as f:
userdata = {}
for i in self.game_info:
if i in c.USERDATA_KEYS:
if i in c.INIT_USERDATA:
userdata[i] = self.game_info[i]
savedata = json.dumps(userdata, sort_keys=True, indent=4)
f.write(savedata)
@ -1426,7 +1426,7 @@ class Level(tool.State):
with open(c.USERDATA_PATH, "w") as f:
userdata = {}
for i in self.game_info:
if i in c.USERDATA_KEYS:
if i in c.INIT_USERDATA:
userdata[i] = self.game_info[i]
savedata = json.dumps(userdata, sort_keys=True, indent=4)
f.write(savedata)

View File

@ -50,15 +50,10 @@ class Control():
self.game_info.update(userdata)
except FileNotFoundError:
# 不存在存档即新建
userdata = {c.LEVEL_NUM:1,
c.LITTLEGAME_NUM:1,
c.LEVEL_COMPLETIONS:0,
c.LITTLEGAME_COMPLETIONS:0
}
if not os.path.exists(os.path.dirname(c.USERDATA_PATH)):
os.makedirs(os.path.dirname(c.USERDATA_PATH))
with open(c.USERDATA_PATH, "w") as f:
savedata = json.dumps(userdata, sort_keys=True, indent=4)
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 # 时间信息需要新建