javascript - Coffeescript 将文本文件的内容加载到字符串变量中

标签 javascript string coffeescript text-files adventure

branches =
branch0:
  name: "Start" 
  text: "This is a wall of text. #1 {Terra: Hello there! My name is Terra! What's yours?} You find your desperation outweighing Cora’s vague warning. You feel miserable, paranoid, and your skin grows more raw and drenched by the minute. This is the fourth wall of text. This is the fifth wall of text. {Terra: My you're cute!} This is the sixth wall of text."
  options: 
    branch1: "Bad"
    branch2: "Good"
branch1:
  name: "Bad Intro"
  text: "You're a bad person!"
  options:
    branch3: "To Gate"
branch2:
  name: "Good Intro"
  text: "You've done good things!"
  options:
    branch3: "To Gate"

所以我正在开发一个基于文本的游戏。主要分支路径被分成对象,故事文本是一个称为“文本”的属性;主要游戏逻辑涉及读取“text:”属性中的巨大字符串并将其写入 HTML 文档。

为了可读性,有什么办法可以从单独的文件中读取文本,并以某种方式让内容显示为“text:”属性的字符串吗? 7000 多个字的故事让我的主代码像这样困惑,处理这个项目变得越来越困惑和困难。

最佳答案

您应该将游戏数据提取到一个文件或一组文件中。这可以是 JSON(完整对话树/每个分支的文件),也可以只是文本(例如,从 text/branch1.txt 加载分支 branch1 的文本)。

一般来说,让游戏数据具有表现力是个好主意,这样您就可以将数据和代码分开,并从一组数据文件(即 JSON 文件)中定义大部分游戏行为。除了使您的游戏更加强大之外,它还允许非程序员制作内容并在不更改源代码的情况下进行尝试。

关于javascript - Coffeescript 将文本文件的内容加载到字符串变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38332178/

相关文章:

java - 如何将字符串日期转换为java.util.Date?

javascript - 从机器人中隐藏 URL 的方法(类似于 tripadvisor.com)

javascript - 在 linux 上全局安装 typeorm 后获取 "bash: typeorm: command not found"

javascript - 如何使用 Howler.js 观看赛道进度

java - 数字字符串上的奇怪错误 : NumberFormatException

java - 检查字符串是否包含数组中的字符

javascript - 按钮点击不会在第二次点击时触发

javascript - 主干模型验证未定义的属性

javascript - 即使页面呈现,也会出现 "Cannot read property ' asMutable' of undefined"错误

php - 在 CakePHP View 中呈现 jQuery 代码时,如何使用 PHP 变量作为 <script> 标记的值?