为C ++编写,阅读和使用专用数据文件

时间:2014-10-09 17:41:54

标签: c++

我正在开发一个C ++项目,我需要做的一部分是让它能够读取多个数据文件以提取选择它的名称,描述和要求,其中包括选择了以前的数据文件。该程序本质上是一个Pathfinder角色创建者和数据文件或壮举。我希望人们可以轻松地将新功能添加到列表中,这就是为什么我希望每个功能都是独立的,我需要它们大部分都是简单的语言,以便有人可以查看其中一个文件并且大部分都知道要做什么。

不幸的是,到目前为止,我所拥有的C ++资源都没有以这种方式读取文件,也没有我能用它做什么语言。对于我来说,完成这项工作有什么好的语言,如何从该文件类型中获取数据?以下是可用于演示的示例专长:

  

名称:更大的盲目战斗

     

先决条件:感知15(这将是我需要它来检查它是15或更高的变量),改进的盲目战斗(这是我需要确保被选中的另一个壮举)

     好处:你的近战攻击忽略了少于完全隐藏的失败机会,你对待完全隐藏的对手好像他们有正常的隐藏(20%失手几率而不是50%)。您仍然可以正常重新录制错失几率百分位数。

     

如果您成功查明了隐形或隐藏的攻击者,那么无论范围如何,该攻击者都无法获得与远程攻击相关的优势。也就是说,你不会失去对护甲等级的敏捷加值,并且攻击者无法获得通常的+2加值。

     

(最终可能以影响其他变量的方式编写)

     

特别:对于一个眨眼法术的角色来说,“大盲法”专长是无用的。

如果不能以人们可以快速添加新文件的方式做得好,那很好,那就是我想要做的事情,而不是绝对需要,只是我刚开始工作C ++,正如我所说的,到目前为止,我的资源完全跳过了这种事情。

1 个答案:

答案 0 :(得分:1)

有很多人类可读/可写数据格式,每种主要编程语言都有绑定,有些示例的基本示例如下:

  • XML

    <character>
       <name>foobar</name>
       <abilities>
            <ability>
                <name>perception</name>
                <value>15</value>
            </ability>
        </abilities>
    </character>
    
  • YAML

    name: foobar
    abilities:
       - perception: 15
       - ...
    

    官方YAML site上有一个实施清单,按照YAML的方式编写。

  • JSON

    {
        "name": "foobar",
        "abilities": {
            "perception": 15
        }
    }
    

请注意,数据格式不会实现您的逻辑。如果percpetion&gt; = 15意味着盲目战斗,你总是需要自己做。