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

Tell us what’s happening:

The web return me this:
You should have a new if statement that checks if currentWeapon is less than 3 .

Your code so far

I think my code is Ok i tried with “currentWeapon <3” and “currentWeapon <4” because are 4 weapons.
if (currentWeapon < 3) {
function buyWeapon() {
if (gold >= 30) {
gold -= 30;
currentWeapon++;
goldText.innerText = gold;
let newWeapon = weapons[currentWeapon].name;
text.innerText = "You now have a " + newWeapon + “.”;
inventory.push(newWeapon);
text.innerText += " In your inventory you have: " + inventory;
} else {
text.innerText = “You do not have enough gold to buy a weapon.”;
}
}}

WARNING

The challenge seed code and/or your solution exceeded the maximum length we can port over from the challenge.

You will need to take an additional step here so the code you wrote presents in an easy to read format.

Please copy/paste all the editor code showing in the challenge from where you just linked.

Replace these two sentences with your copied code.
Please leave the ``` line above and the ``` line below,
because they allow your code to properly format in the post.

Your browser information:

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

Challenge Information:

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

thats because you wrapped the whole function in the if statement. You should only put the logic that was in the buyWeapon in the if statement you wrote that checks if currentWeapon < 3 . When you execute it right now it will check if the weapon is less than 3 before you can buy an weapon

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.