C++ 如何在C++;?
代码如下:C++ 如何在C++;?,c++,C++,代码如下: while (inDungeonRoom1 == true) { if (choice == "torch" || choice == "Torch" || choice == "pick up torch" || choice == "Pick up torch" || choice == "grab torch" || choice == "Grab torch") { torch++; 我希望能够调用函数,比如程序中任
while (inDungeonRoom1 == true) {
if (choice == "torch" || choice == "Torch" || choice == "pick up torch" ||
choice == "Pick up torch" || choice == "grab torch" ||
choice == "Grab torch") {
torch++;
我希望能够调用函数,比如程序中任何位置的信息,而不会干扰if语句。您似乎正在编写游戏。您需要一种更结构化的解释播放器输入的方法——换句话说,就是解析器。自然语言解析非常困难,但是有一些足够好的解析器可以重用。我建议您仔细查看。您可以将函数声明为
静态
(如果是成员函数),或者声明为前面提到的准版本,只需在您想要使用它的地方声明即可。然后,您可以根据需要简单地调用它
同样重要的是,使用==
比较字符串确实不是一个好主意。如果你使用C字符串,你会想使用,或者如果你使用C++字符串,它值得一看。
编辑:更新了一些措辞,以回应Sergey的评论。我在代码中没有看到任何函数声明、定义或调用。声明和定义在这里是你最好的朋友,我想,它们也是语言的基本部分,因此你必须以任何方式学好它们。无关的社论除外:如果(无论什么
==true)
,永远不要写。只要写if(
whatever)
@Zack:if(whatever==true)有什么可怕的?对我来说,这似乎是一个小问题。如果任何东西返回一个非零但不等于1的值,测试将在不应该的情况下失败。@Emile:与Zack的回答不同:如果任何东西是布尔值,你将其与真值进行比较,你会得到另一个布尔值。为什么不将其与真实情况进行比较呢?如果((无论什么==真)==真)==真)等等??我们怎么知道什么时候该停下来?@Sergey:你可以,但它实际上只是compare
的语法糖。如果使用字符串
,我想这更像是一种风格<代码>比较
还有比==
更灵活的优点。我第一次看到有人建议不要使用运算符==
进行基本字符串比较。顺便问一下,你习惯用Java编写代码吗?@ereOn:对我来说,这更像是一种风格,而不是其他任何东西。我用C++比其他任何东西都多,但你说得对,我确实是在java中开始的。很可能是。。。