我正在用Python编写游戏,并且已经到了需要拯救玩家进度的方式。当玩家退出游戏时,我正在考虑让脚本创建一个文本文件并写几行(用于存储统计变量和房间号)。但我也需要它来检查该文件是否在启动时退出,如果是,则将存储的值应用于相应的变量。任何人都可以帮忙吗?Python游戏保存文件
回答
import os
if os.path.exists('yourplayerfile'):
with open('yourplayerfile') as f:
# work with f
with open('yourplayerfile','a') as f:
# update f
这是您必须使用的提纲。
两个不同的问题在这里:
- 什么存储在文件中,以及如何将其存储
- 时存储的逻辑,当加载
第一个问题是简单因为它更通用。这里有几个很好的选择:一个是使用Python的ConfigParser
类,用于Windows .ini
- 类似配置文件。或者,您可以使用pickle
来简单地转储某种配置/设置数据结构(可能是嵌套字典)。然后是内置的SQLite绑定。还有其他的选择 - 这一切都取决于你想要的复杂程度。
第二个问题更具体到您的应用程序。您可以尝试在启动时打开配置文件,如果它在那里,请阅读它的内容。稍后,您可以定期将设置/进度存储在其中。一个忠告:在任何时候都要始终保持一组数据结构中的一组设置为一致的数据结构 - 即使只有部分设置在配置文件中(因为某些原因)出现在配置文件中,也需要使用默认值您的设置。
+1为泡菜!这可能是现在的最佳选择。 – 2011-04-27 05:26:57
我建议你保存在sqlite或一些像这样的东西......但我不明白你的问题在哪里?保存文件或读取文件?
try:
f=open('/tmp/workfile', 'w')
# i find file
except:
#there is no file
<open file '/tmp/workfile', mode 'w' at 80a0960>
不,请使用'打开(文件)为f'代替。它更清洁。 – user225312 2011-04-27 05:03:07
它需要做的是创建一个文件来存储决定玩家进度的变量,如果该文件已经退出,还需要检查启动时间,如果是这样,则将数据应用到玩家进度变量 – 2011-04-27 05:03:37
尝试检查您的文件,如果剂量存在执行除外 – Efazati 2011-04-27 05:15:39
- 1. iPhone游戏保存
- 2. Python游戏 - 创建一个保存文件?
- 3. 保存游戏状态?
- 4. 保存多线程游戏
- 5. 用Javascript保存游戏
- 6. android保存游戏状态
- 7. 对非游戏应用使用已保存的游戏服务
- 8. 如何在java applet游戏中制作保存游戏?
- 9. 通过游戏中心分享保存的游戏数据?
- 10. 如何星际争霸(或策略游戏)游戏保存
- 11. 二进制文件和保存的游戏格式
- 12. 将游戏分数保存到文件并确定“高分”
- 13. 在Cocos2d中保存文件到服务器Javascript游戏
- 14. Python argparse游戏
- 15. 游戏文件存档格式
- 16. 在Unity中使用JSON保存游戏
- 17. 保存,加载和重放游戏。 C++
- 18. State Monad在游戏中保存棋盘
- 19. 将高分保存为游戏
- 20. 在MMO游戏中保存数据
- 21. 硬币翻转游戏保存问题
- 22. 不保存寻宝游戏的脚本
- 23. 保存Flash游戏得分的PHP/MySQL
- 24. Unity Google Play已保存的游戏
- 25. 游戏中心不保存得分
- 26. 保存的游戏在localStorage的
- 27. 在cocos2d保存游戏状态
- 28. Python捕捉游戏
- 29. Python问答游戏
- 30. Python游戏网络
感谢您的帮助! – 2011-04-27 04:57:46
你不觉得检查文件是否存在有点不必要?毕竟,'a'会创建文件,如果它不存在。 – user225312 2011-04-27 05:03:40
A - 我认为OP问他想在启动过程中检查文件。我应该把它当作是编辑它的一部分。 – 2011-04-27 06:50:49