Learn Basic JavaScript by Building a Role Playing Game - Step 140

Tell us what’s happening:

i don’t understand what i do wrong, i did each step in the assignment.
asignment:
Back to your attack function - inside the else if block, create another if and else statement. If the player is fighting the dragon (fighting would be 2), call the winGame function. Move the defeatMonster() call to the else block.

For this step, you will need to use the strict equality (===) operator to check if fighting is equal to 2.

Your code so far

<!-- file: index.html -->

/* file: script.js */
// User Editable Region

function attack() {
  text.innerText = "The " + monsters[fighting].name + " attacks.";
  text.innerText += " You attack it with your " + weapons[currentWeaponIndex].name + ".";
  health -= monsters[fighting].level;
  monsterHealth -= weapons[currentWeaponIndex].power + Math.floor(Math.random() * xp) + 1;
  healthText.innerText = health;
  monsterHealthText.innerText = monsterHealth;
  if (health <= 0) {
    lose();
  }
  else if (monsterHealth <= 0) {
    if(fighting == 2 ){
       winGame();
    }
    else{ 
      defeatMonster();
    }
  }
}

// User Editable Region
/* file: styles.css */

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36 Edg/133.0.0.0

Challenge Information:

Learn Basic JavaScript by Building a Role Playing Game - Step 140

got it had to use === instead of ==

Yes, see this last line of the task-

For this step, you will need to use the strict equality (=== ) operator to check if fighting is equal to 2 .

Strict equality helps to avoid type coercion. I hope you understand it, it will be very helpful in future. If not then feel free to ask.

Happy coding :slight_smile: