Tell us what’s happening:
I don’t know what to do.
Your code so far
function attack() {
text.innerText = “The " + monsters[fighting].name + " attacks.”;
text.innerText += " You attack it with your " + weapons[currentWeapon].name + “.”;
health -= monsters[fighting].level;
monsterHealth -= weapons[currentWeapon].power;
weapons[currentWeapons].power += Math.floor(Math.random() * xp) + 1;
}
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/120.0.0.0 Safari/537.36
Challenge Information:
Learn Basic JavaScript by Building a Role Playing Game - Step 123
1 Like
Can you talk to us about what has you stuck or confused? It helps us help you, and communication is a critical professional programming skill.
This is what the code is asking
JavaScript offers the built-in Math
utility which offers a number of mathematical tools. One of those is Math.random()
, which generates a random number between 0 and 1. Another is Math.floor()
, which rounds a given number down to the nearest integer.
Using these, you can generate a random number within a range. For example, this generates a random number between 1 and 5: Math.floor(Math.random() * 5) + 1;
.
Following this pattern, use the addition operator (+
) to add a random number between 1
and the value of xp
to your monsterHealth
variable change.
but the code isn’t passing and I am not sure why.
I can read the instructions by clicking on the link. I can’t read your mind. What about the step or error message is confusing?
I don’t understand the syntax. I am not sure what my mistake is. The hints suggest to add weapons[currentWeapon].power but I thought I was.
That’s partially true.
You do need to add that random value to the current weapon’s power but the line you need to modify is this one
reason being is because your ultimate goal is to decrease the monsterHealth
value
reset the lesson and make sure to only alter that line I pointed out earlier, then it will pass
1 Like
this is the answer code,
Mod Edit: SOLUTION REMOVED
It is great that you solved the challenge, but instead of posting your full working solution, it is best to stay focused on answering the original poster’s question(s) and help guide them with hints and suggestions to solve their own issues with the challenge.
We are trying to cut back on the number of spoiler solutions found on the forum and instead focus on helping other campers with their questions and definitely not posting full working solutions.
I’m stuck here too, I really don’t know why altering a line that’s not even in the same step would effect the out come of a future step. I think the lesson should’ve made sure people aren’t making these mistakes so we don’t have to go back and fix older steps in order to progress. also I don’t see a problem with “monsterHealth -= weapons[currentWeapon].power;” isn’t that decreasing the monsterHealth value by the weapon power? and if anything shouldn’t it go after the step where we are modifying weapon power based off a random number? Now, I can be totally wrong I’m new to programming but this step has been very confusing. the steps following up to step 122 were great.
If you have a question about a specific challenge as it relates to your written code for that challenge and need some help, click the Ask for Help button located on the challenge (it looks like a question mark). This button only appears if you have tried to submit an answer at least three times.
The Ask for Help button will create a new topic with all code you have written and include a link to the challenge also. You will still be able to ask any questions in the post before submitting it to the forum.
Thank you.