让游戏读取另一个包含数据的文件是否专业?

2024-03-28 19:05:05 发布

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

这个问题有点复杂,我来介绍一下情况:

我现在正在用Python编写我的第一个真正的游戏,我们称之为“游戏.py“其中有相当多的字符与各种统计数据和其他类似的数据。你知道吗

到目前为止,数据存储在游戏.py,但随着程序越来越大,这将变得非常不方便,因为要找到所说的数据需要更长的时间。你知道吗

然后我突然想到,我应该试着用“open”来游戏.py读一个文件,比如说“字符.txt,并将其转换为中的字符所用的格式游戏.py,本质上是将数据从一个文件迁移到另一个文件。你知道吗

这是“专业”的解决方案吗?把它放在一个可以找到的地方好吗游戏.py,还是有更好的解决方案?你知道吗


Tags: 文件数据py程序txt游戏专业格式
3条回答

如果您担心最终用户很容易操作底层设置(即“Modding”),那么您可以尝试使用^{}将文件保存为二进制文件。如果您想添加一个额外的威慑,您可以在将字符串存储到文件之前将其添加到^{},并且只需将密钥保留在.py文件中(尽管如果有人受到激励,他们可以通过反向工程来找到它)主.pyc)你知道吗

正如评论中所建议的,这是处理游戏数据的正确方法。你知道吗

游戏由很多数据组成:游戏对象和实体、关卡、设置、材质和着色器。这些文件通常表示为文本文件。你知道吗

传统上,XML用于存储这些类型的元素,但是另一个好的替代方法是JSON。JSON很简单,解析速度应该比XML快。以JSON格式存储游戏数据,使您可以轻松地将其load放入游戏并像字典一样访问它。你知道吗

这可能带来的一个问题是,人们很容易篡改数据,因为JSON很容易读取和编辑。不过,这是一个很好的开始。 对于更高级的方法,您可以研究加密方法或考虑以二进制格式存储数据。你知道吗

您可能对下面的blog感兴趣,它详细介绍了如何在游戏中使用JSON。你知道吗

您可以将其保存在另一个.py文件中,然后导入:

人物_数据.py地址:

characters={'name':'Me',....
...
}

你知道吗游戏.py地址:

from characters_data import characters
print characters['name']

相关问题 更多 >