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

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' CHOOSE = 'choose'
PLAY = 'play' PLAY = 'play'
# 记录本地存储文件需要记录哪些内容 # 记录本地存储文件初始值
USERDATA_KEYS = { LEVEL_NUM, LITTLEGAME_NUM, INIT_USERDATA = { LEVEL_NUM:1,
LEVEL_COMPLETIONS, LITTLEGAME_NUM:1,
LITTLEGAME_COMPLETIONS, LEVEL_COMPLETIONS:0,
LITTLEGAME_COMPLETIONS:0,
} }
# 无穷大常量 # 无穷大常量

View File

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

View File

@ -50,15 +50,10 @@ class Control():
self.game_info.update(userdata) self.game_info.update(userdata)
except FileNotFoundError: 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)): if not os.path.exists(os.path.dirname(c.USERDATA_PATH)):
os.makedirs(os.path.dirname(c.USERDATA_PATH)) os.makedirs(os.path.dirname(c.USERDATA_PATH))
with open(c.USERDATA_PATH, "w") as f: 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) f.write(savedata)
self.game_info = userdata self.game_info = userdata
self.game_info[c.CURRENT_TIME] = 0 # 时间信息需要新建 self.game_info[c.CURRENT_TIME] = 0 # 时间信息需要新建