适配Windows路径

This commit is contained in:
wszqkzqk 2022-07-23 14:49:54 +08:00
parent bcb015660a
commit a323c38ba0
3 changed files with 13 additions and 6 deletions

View File

@ -1,3 +1,10 @@
import os
# 用户数据存储路径
if os.name == 'nt':
USERDATA_PATH = os.path.expandvars(os.path.join("%APPDATA%", "wszqkzqk.dev", "pypvz", "userdata.json"))
else:
USERDATA_PATH = os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz", "userdata.json"))
# 游戏起始关卡 # 游戏起始关卡
START_LEVEL_NUM = 1 START_LEVEL_NUM = 1
START_LITTLE_GAME_NUM = 1 START_LITTLE_GAME_NUM = 1

View File

@ -60,7 +60,7 @@ class Level(tool.State):
pg.mixer.music.stop() pg.mixer.music.stop()
pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", "intro.opus")) pg.mixer.music.load(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "music", "intro.opus"))
pg.mixer.music.play(-1, 0) pg.mixer.music.play(-1, 0)
with open(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz", "userdata.json")), "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.USERDATA_KEYS:
@ -1426,7 +1426,7 @@ class Level(tool.State):
self.done = True self.done = True
# 播放胜利音效 # 播放胜利音效
pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "win.ogg")).play() pg.mixer.Sound(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))) ,"resources", "sound", "win.ogg")).play()
with open(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz", "userdata.json")), "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.USERDATA_KEYS:

View File

@ -44,7 +44,7 @@ class Control():
self.state = None self.state = None
try: try:
# 存在存档即导入 # 存在存档即导入
with open(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz", "userdata.json"))) 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 = {c.CURRENT_TIME:0} # 时间信息需要新建
@ -56,9 +56,9 @@ class Control():
c.LEVEL_COMPLETIONS:c.START_LEVEL_COMPLETIONS, c.LEVEL_COMPLETIONS:c.START_LEVEL_COMPLETIONS,
c.LITTLEGAME_COMPLETIONS:c.START_LITTLEGAME_COMPLETIONS c.LITTLEGAME_COMPLETIONS:c.START_LITTLEGAME_COMPLETIONS
} }
if not os.path.exists(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz"))): if not os.path.exists(os.path.dirname(c.USERDATA_PATH)):
os.makedirs(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz"))) os.makedirs(os.path.dirname(c.USERDATA_PATH))
with open(os.path.expanduser(os.path.join("~", ".config", "wszqkzqk.dev", "pypvz", "userdata.json")), "w") as f: with open(c.USERDATA_PATH, "w") as f:
savedata = json.dumps(userdata, sort_keys=True, indent=4) savedata = json.dumps(userdata, sort_keys=True, indent=4)
f.write(savedata) f.write(savedata)
self.game_info = userdata self.game_info = userdata