编辑保存在文件中的词典中的值

2024-10-01 04:58:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在制作一个基于文本的游戏,作为一个挑战项目,我的任务是保存用户的进度,我已经设法保存了名称、位置、库存,所以当我再次玩时,我能够加载以前的进度;问题出现在我第三次尝试加载它时,因为它将加载上一次(第一次)播放的进度。进度保存在保存到文件的词典中我希望通过编辑已保存在文件中的词典的值而不是添加不可用的数据来保存当前播放过程中所做的更改

def save(name):
    file = open("save_game.txt","a+")
    saved["Name"] = name
    file.write(str(saved) + "\n")
    file.close()


def position(positions):
    file = open("save_game.txt","a+")
    saved["Position"] = positions
    file.write(str(saved))
    file.close()

这是保存用户姓名和位置的代码 这是第一次播放时文件的输出:{'Name':'Name','Position':1} 这是在第二个playthrough上加载第一个playthrough时的游戏:

  • ======================================================================

===========================================================================================

你在一所房子的前走廊

这是第一个位置,所以这很好 现在我将在第二个playthrough上改变位置 *这是地下室的楼梯

这是位置3 在我保存第二个playthrough后,这将输出到文件中 {'Name':'Name','Position':1} {'Position':3} 这将不允许我从第二个playthrough继续到第三个playthrough 这是在我的第三个playthrough中加载:

  • ======================================================================

===========================================================================================

你在一所房子的前走廊

坏的;这是我在第一次打通时的扑救 我需要在每次播放时更改文件中位置的值。请帮忙


Tags: 文件用户nametxtgame游戏savedef