将初始存档直接保存到常数文件
This commit is contained in:
parent
edf1898b8c
commit
b4a3fa993d
@ -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,
|
||||
}
|
||||
|
||||
# 无穷大常量
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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 # 时间信息需要新建
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user