全部。
我目前正在尝试使用 cPickle 为我的 Roguelike 创建一个“save_game”功能。
save_game() 正确地腌制游戏状态,但是如果我退出游戏,当我尝试重新打开保存的游戏时, load_game() 函数断然拒绝承认腌制文件存在(它只是告诉我没有保存的数据加载)。
这是 save_game():
def save_game():
#Write the game data to a cPickled file
f = open('savegame', 'wb')
cPickle.dump('map',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('objects',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('player_index',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('stairs_index', f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('inventory',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('game_msgs',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('game_state',f, protocol=cPickle.HIGHEST_PROTOCOL)
cPickle.dump('dungeon_level',f, protocol=cPickle.HIGHEST_PROTOCOL)
f.close()
这是load_game():
f = open('savegame', 'rb')
cPickle.load(f)
f.close()
我这样做是否正确,或者这一切都是低音?哈哈