如何在C ++程序中的任何位置调用函数?

时间:2011-02-19 04:59:06

标签: c++

以下是代码:

while (inDungeonRoom1 == true) {

    if (choice == "torch" || choice == "Torch" || choice == "pick up torch" ||
      choice == "Pick up torch" || choice == "grab torch" ||
       choice == "Grab torch") {

          torch++;

我希望能够调用一个函数,比如关于程序中任何位置的信息,而不会弄乱if语句。

2 个答案:

答案 0 :(得分:5)

您似乎正在编写interactive fiction游戏。您需要一种更有条理的方式来解释玩家输入 - 换句话说,解析器。自然语言解析非常困难,但是有一些足够好的可以重用的作业解析器。我建议您浏览IFwikiguide to authoring systems

答案 1 :(得分:2)

您可以将您的函数声明为static(如果是成员函数),或者提到的quasiverse只是将其声明为您要使用它的位置。然后,您可以根据需要简单地调用它。

同样重要的是,使用==比较字符串确实不是一个好主意。如果您使用的是C字符串,则需要查看使用strcmp,或者如果您使用的是C ++字符串,则值得查看string::compare

编辑:根据谢尔盖的评论稍微更新了一些措辞。