我正在用Python和PyGame编写一个游戏。(这是在作业中指定的,因此建议另一个具有内置级别解析的游戏开发库是没有用的)
我现在的阶段,游戏物理等是完整的,但我还没有找到一个方法,以保存和加载到游戏水平。到目前为止我的想法是:
1。方法头脑风暴
- 建议使用YAML(因此,PyYAML)来处理级别输入/输出。
- 它以纯文本的形式存储,但以结构化的方式存储。在
- 易于编辑等-YAML的一个主要特点是它很容易被人阅读。在
- 使用泡菜
- 这是我过去用过的-将列表另存为单独的项目,并使用拆分项来区分它们。在
- 同样,保存为纯文本,但使用拆分项(例如,{>;})作为学习者驾驶日志会使其更难理解。在
2。数据表示
- 每个级别都需要解析以下数据。数据类型旁边以粗体显示。
- 球和圆的起始位置和特点[两个列表]
- 圆的极限[整数]
- 允许颜色[定义列表颜色:真/颜色:假]
- 强迫完成区分标准[整数]
- 必须出现在级别[字符串列表]中的任何故事情节或教程文本
- 级别名称和编号[字符串列表]
我所要寻找的是实现这一目标的最佳方法的建议。在
TL;DR-将游戏级别从文件解析为Python/PyGame的最佳方法。
Tags:
那么一个.txt文件的简单方法呢?在
例如,如果这是一个二维游戏,有id,那么3=stone,4=grass,然后逐行读取并传输到显示。在
这对级别编辑器很好,因为它们很容易保存数据。如果重要的数据需要加密,这不是一个好的选择。在
如果不需要手工编辑,或者不需要读取任何其他程序中的级别,只需使用
pickle
。在将级别数据存储在单个Python对象中,它(几乎)是代码中读写的一行代码。在
泡菜就是为这种东西做的。您不需要任何分隔符来区分列表中的项;只需对整个列表进行pickle。在
相关问题 更多 >
编程相关推荐