以下是代码:
while (inDungeonRoom1 == true) {
if (choice == "torch" || choice == "Torch" || choice == "pick up torch" ||
choice == "Pick up torch" || choice == "grab torch" ||
choice == "Grab torch") {
torch++;
我希望能够调用一个函数,比如关于程序中任何位置的信息,而不会弄乱if语句。
答案 0 :(得分:5)
您似乎正在编写interactive fiction游戏。您需要一种更有条理的方式来解释玩家输入 - 换句话说,解析器。自然语言解析非常困难,但是有一些足够好的可以重用的作业解析器。我建议您浏览IFwiki的guide to authoring systems。
答案 1 :(得分:2)
您可以将您的函数声明为static
(如果是成员函数),或者提到的quasiverse只是将其声明为您要使用它的位置。然后,您可以根据需要简单地调用它。
同样重要的是,使用==
比较字符串确实不是一个好主意。如果您使用的是C字符串,则需要查看使用strcmp,或者如果您使用的是C ++字符串,则值得查看string::compare。
编辑:根据谢尔盖的评论稍微更新了一些措辞。