2014-02-14 93 views
0

我正在學習如何創建自己的基於文本的遊戲。這並不能讓有經驗的程序員驚歎不已,但這讓我感到沮喪。我的代碼很簡單,目標是這樣的:你有一個顯示健康,法力和體力的酒吧。 爲了簡單起見,如果用戶輸入'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; 
     } 
    } 
} 

回答

2

沒關係我想通了,我意識到了代碼工作完美,但是當它返回到了當()將其重置nStamina回20,所以也沒做減法,但它重置所以修復它我在循環之外聲明瞭變量。

+0

很好,你解決自己的問題!有些東西可以幫助你進行調試(並且我完全認真):[橡皮鴨調試](http://en.wikipedia.org/wiki/Rubber_duck_debugging) –

相關問題