【问题标题】:nested for loops now not working嵌套的 for 循环现在不起作用
【发布时间】:2019-01-19 14:11:37
【问题描述】:

我的代码现在大部分都在工作。 但是,当运行嵌套 for 循环时,轮数不会改变。 我哪里出错了? 另外我如何将健康的变化存储在各个变量中?

for (int round = 1; round <=30; round++)
{
    int sorceressHealth = 30;// sets health
    int wizardHealth = 30;
    for (int x = 0; x <= ARRAYROW; x++) {


        system("pause");
        //Round begins
        cout << endl << "Round " << round << "  fight!" << endl;


        //Sorceress draws card
        cout << "Sorceress draws " << sorDeck[x].sName << endl;
        //Card attacks Wizard
        cout << sorDeck[x].sName << " deals " << sorDeck[x].sAttk << " damage to Wizard!" << endl;


        //wizard draws card
        cout << "Wizard draws " << wizDeck[x].wName << endl;

        //Card attacks sorceress
        cout << wizDeck[x].wName << " deals " << wizDeck[x].wAttk << " damage to Sorceress!" << endl;


        cout << endl << "Sorceress has:" << sorceressHealth - wizDeck[x].wAttk << " Health" << endl; // displays health
        cout << "Wizard has:" << wizardHealth - sorDeck[x].sAttk << " Health" << endl;

【问题讨论】:

  • 如果你使用正确的标点符号,你的问题会更易读。
  • 您应该尝试将代码减少到可以显示您的问题的最小情况。阅读完整的代码真的很痛苦。 stackoverflow.com/help/mcve
  • 我只是想放最少的代码,但我认为错误可能在更早的地方
  • 有时将问题缩小到最小的简单事实会给您答案。
  • MCVE 不是为了减少代码。它是重现问题的最少代码量。

标签: c++ arrays loops for-loop


【解决方案1】:

回答你的问题的第二部分,假设每一轮健康都会减少,直到 1 名玩家达到 0。(因为你现在实现它的方式是每次内部 For 循环完成时,您重置了巫师和女术士的生命值,因此使此要求无用)

在两个循环之外声明 wizardHealthsorceressHealth

int wizardHP = 30;
int sorceressHP = 30;
for ( int round = 1; round <= 30; round++ ) {
//Do your code execution
     for(int x = 0; x <= ARRAYROW; x++) {
         //Execute fight sequence
         wizardHP -= sorDeck[x].sAttk;  //To store the new hp of wizard
         sorceressHP -= wizDeck[x].wAttk;  //To store the new hp of sorceress
     }
}

这样,每次迭代都将使用更新的变量,而不是从 30 开始。(如果我对您的执行要求有误,请纠正我)

P.S 您的外部(圆形)循环在我的 IDE 上完美执行。我看不出有什么问题。

【讨论】:

  • 非常感谢。这是我正在寻找的那种简单化的解释。
  • 很高兴能帮上忙!然后您会将上述内容标记为答案,以便其他用户知道您的问题已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多