我不知道对于 C++ 2D RPG 是否使用 XML、YAML 或 JSON。
这是我的想法:
哪个是最好的选择?我有 JavaScript 中 JSON 的经验,但没有 C++ 的经验。如果这是要走的路线,是否有任何在 C++ 中解析 JSON 的好的参考资料?
Edit
老实说,如果文本文件似乎是此类问题的最简单且最有效的解决方案(特别是如果我可以将其写入二进制文件),那么我会洗耳恭听。
Edit 2
也请随意提供其他建议。
我会使用满足您要求的最简单的东西。
如果您不需要分层存储,那么平面表格文件比其他任何文件都更容易处理。您所要做的就是从磁盘读取行并在选项卡上拆分。
如果您正在寻找更多的键/值对类型存储(而不是事物列表),那么INI文件 http://en.wikipedia.org/wiki/INI_file可以合理。这种格式具有很大的灵活性,但当您开始做比其设计目的更复杂的事情时,对其进行推理可能不太容易理解。
如果您需要分层,JSON 可能会更简单。有多种语言的 JSON 库,听起来您已经很熟悉了。
https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser https://stackoverflow.com/questions/245973/whats-the-best-c-json-parser
sqlite http://www.sqlite.org/可能是另一种选择。 SQL 中有龙,但是有了 sqlite 的一个很好的 C++ 包装器,它can易于管理。在我看来,主要的好处是 ACID。
YAML 规范看起来有点长,所以我可以猜测它有更多的厨房水槽。浏览一下 libyaml 文档,该 API 看起来有点像我过去使用过的 SAX 接口。我对它没有任何后验知识,但如果没有充分的理由,我会不愿意开始使用它。
XML 很难处理,所以不要选择使用它。这有很多原因。我认为在我看来最相关的是,它很容易使使用它的代码比其他情况更复杂。我见过的任何使用 XML 设计的系统,对 XML 的推理都比它试图支持的设计兴趣更复杂。它有有效的用途,尽管很少有其他存储系统不能满足要求。
无论您选择哪一种,都请编写尽可能少的代码来管理它。您确实想编写引擎首先使用的类。然后担心序列化它们。如果您让序列化影响您的类设计,您可能会后悔。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)