c++ - 基于 C++ 文本的游戏中的文本应该在代码中还是在外部文件中?

标签 c++ text

<分区>

我正在为一个学校项目使用 C++ 创建一个基于文本的游戏,该游戏的工作原理是允许用户从每个场景的选项列表中进行选择;类似于 Choice of Games 主办的游戏工作。因此,我必须在我的游戏中显示大量文本,但是我不确定在程序中处理大量文本时的正确约定。我应该简单地使用 std::cout 并将文本直接写入代码,还是应该将使用过的 std::ifstream 写入文本文件以便阅读正文。

关于使用文件保存文本,我唯一主要担心的是用户做出的每个选择都会导致显示不同的段落,因此我认为我需要为每个段落创建一个文本文件,这似乎它会导致更多问题(例如使用错误的文件名或输入错误的代码导致游戏从错误的文件中读取)而不是将文本直接写入代码。如果有一种方法可以读取文本文件的特定部分,那么知道这将很有用,但是我目前还不知道有任何此类方法。然而,我是 C++ 的新手,我确信还有很多我尚未学习的东西,所以如果确实存在这样的方法,我不会感到惊讶。

非常感谢任何帮助,无论是简单地告诉我是否应该在我的代码或文件中输入文本,还是告诉我是否有办法从文本文件的特定部分读取文本。再次感谢您提供的任何帮助。

最佳答案

请不要将显示的文本放入代码中。那是一种反模式。您必须重新编译您的游戏,以应对每一个微小的文本更改(例如修复拼写错误)以及重大更改(例如翻译成其他语言)。

大多数编程语言的惯例是将所有显示的文本作为键值对放入(少数)资源文件或属性文件中,其中代码只引用要显示的段落的键,值将被加载从那个外部文件。 (通常在启动期间一次。)无需每个段落使用一个文件,但必须解析 kv 对。将有实用程序供您重复使用。

关于c++ - 基于 C++ 文本的游戏中的文本应该在代码中还是在外部文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31896084/

相关文章:

css - 在 IE8 中颜色透明?

css - 如何对齐div之间的文本

javascript - 如何使用 jQuery 通过 <select> id 和 <option> 值在 <select> 选项中找到文本?

css - 使用 CSS 在多个框的底部创建固定文本

c++ - 控制台输出中的意外字符

c++ - 在磁盘上存储列并读取行

c++ - libwebsockets 是否提供发布/订阅?

c++ - 从 Python Web 应用程序调用二进制可执行文件

c++ - 快速选择 DOM 中的元素

android - 文本未出现在屏幕上