dimanche 17 mai 2015

Proceeding If statements gets ignored.

I've just recently picked up programming and I decided to code a simple turned-based game out of sheer boredom. I'm still an amateur and I can't seem to fix this problem. When the attack misses the coding after the first else "Miss" will be disregarded. Sorry that I used confusion names for the controls.

if (mov < 90) //Successful Hit
               {
               LogMiss.Text = " ";
               dmg[1] = dmgVar + movPow * atk[0] / def[1];
               HPholder = HP[1] - dmg[1];

               if (crit < 10) //Critical
                   {
                   if (HPholder <= 0) //Damage Exceeds HP
                       {
                       HP[1] = HP[1] - dmg[1] * 2;
                       barFoe.Value = 0;
                       LogDamageFoe.Text = "It's a Critical! Black Dragon took " + dmg[1] + "!";
                       LogResult.Text = "You Won!";
                       Atk1.Enabled = false;
                       Atk2.Enabled = false;
                       Atk3.Enabled = false;
                       Atk4.Enabled = false;
                       LogUsedMoveFoe.Text = " ";
                       LogDamageYou.Text = " ";
                       LogMissFoe.Text = " ";
                       } 
                   else
                       {
                       HP[1] = HP[1] - dmg[1] * 2;
                       barFoe.Value = HP[1];
                       LogDamageFoe.Text = "It's a Critical! Black Dragon took " + dmg[1] + "!";
                       }
                   }
               else //Non Critical
                   {
                   if (HPholder <= 0) //Damage Exceeds HP
                       {
                       HP[1] = HP[1] - dmg[1];
                       barFoe.Value = 0;
                       LogDamageFoe.Text = "Black Dragon took " + dmg[1] + "!";
                       LogResult.Text = "You Won!";
                       Atk1.Enabled = false;
                       Atk2.Enabled = false;
                       Atk3.Enabled = false;
                       Atk4.Enabled = false;
                       LogUsedMoveFoe.Text = " ";
                       LogDamageYou.Text = " ";
                       LogMissFoe.Text = " ";
                       }
                   else
                       {
                       HP[1] = HP[1] - dmg[1];
                       barFoe.Value = HP[1];
                       LogDamageFoe.Text = "Black Dragon took " + dmg[1] + "!";
                       }
                   }
               }
           else //Miss Note:If misses the bottom if gets ignored!!!
               {
               LogDamageFoe.Text = " ";
               LogMiss.Text = "It Missed!";
               }
           //Enemy Move
           if (HPholder > 0)
               {
               if (movSel < 60)
                   {
                   dmg[0] = dmgVar + movPow2 * atk[1] / def[0];
                   HPholderYou = HP[0] - dmg[0];
                   LogUsedMoveFoe.Text = "Black Dragon Used Black Dragon Swipe!";
                   }
               else
                   {
                   dmg[0] = dmgVar + movPow3 * atk[1] / def[0];
                   HPholderYou = HP[0] - dmg[0];
                   LogUsedMoveFoe.Text = "Black Dragon Used Black Dragon Breath!";
                   }
               if (movFoe < 85) //Successful Hit
                   {
                   LogMissFoe.Text = " ";

                   if (critFoe < 10) //Critical
                       {
                       if (HPholderYou <= 0) //Damage Exceeds HP
                           {
                           HP[0] = HP[0] - dmg[0] * 2;
                           barYou.Value = 0;
                           LogDamageYou.Text = "It's a Critical! Warrior took " + dmg[0] + "!";
                           LogResult.Text = "You Lost!";
                           Atk1.Enabled = false;
                           Atk2.Enabled = false;
                           Atk3.Enabled = false;
                           Atk4.Enabled = false;
                           }
                       else
                           {
                           HP[0] = HP[0] - dmg[0] * 2;
                           barYou.Value = HP[0];
                           LogDamageYou.Text = "It's a Critical! Warrior took " + dmg[0] + "!";
                           }
                       }
                   else //Non Critical
                       {
                       if (HPholderYou <= 0) //Damage Exceeds HP
                           {
                           HP[0] = HP[0] - dmg[0];
                           barYou.Value = 0;
                           LogDamageYou.Text = "Warrior took " + dmg[0] + "!";
                           LogResult.Text = "You Lost!";
                           Atk1.Enabled = false;
                           Atk2.Enabled = false;
                           Atk3.Enabled = false;
                           Atk4.Enabled = false;
                           }
                       else
                           {
                           HP[0] = HP[0] - dmg[0];
                           barYou.Value = HP[0];
                           LogDamageYou.Text = "Warrior took " + dmg[0] + "!";
                           }
                       }
                   }
               else //Miss 
                   {
                   LogDamageYou.Text = " ";
                   LogMissFoe.Text = "It Missed!";
                   }
               }
               turn++;
               LogTurn.Text = turn.ToString();
           }

Aucun commentaire:

Enregistrer un commentaire