我怎样才能让这个简单的代码正确更新

How can I get this simple code to update properly?

本文关键字:简单 代码 更新      更新时间:2023-10-16

我正在学习如何创建自己的基于文本的游戏。这不会让有经验的程序员感到惊讶,但这让我感到沮丧。我的代码很简单,目标是:你有一个显示生命值、法力和耐力的条形图。为简单起见,如果用户输入"n",我想从耐力中减去 1 并再次显示条形图。这是我的代码,不管你放了什么,它都不会更新。

#include <iostream>
#include <string>

int main()
{
    while (true)
    {
        int nHealth=10;
        int nMana=5;
        int nStamina=20;
        char sMovement[] = { 'n', 's', 'w', 'e', 0 };
        std::cout << "Health: " << nHealth << " Mana: " << nMana << " Stamina: " << nStamina << std::endl;
        char chInput;
        std::cin >> chInput;
        if (chInput==sMovement[0])
        {
            nStamina = nStamina - 1;
        }
    }
}

没关系,我想通了,我意识到代码运行良好,但是当它循环回 While() 时,它会将 nStamina 重置回 20,所以它确实做了减法,但它重置了,为了修复它,我在循环之外声明了变量。