Reputation: 79
At this moment, I am trying to learn javascript, but it is giving me a hard time.
I have written a small rock paper scissors script, which should give some output to the user, but I seem unable to actually get that output.
The js script is like this:
var computerChoiceLine = 0
var tieResult = "The result is a tie!";
var winResult = "You won!";
var lossResult = "You lost..."
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
// convert computerChoice into text
if (computerChoice <= 0.34) {
computerChoiceLine = "rock";
} else if(computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
// convert userChoice into number
if (userChoice == "rock") {
userChoiceNumber = 0;
} else if(userChoice == "paper") {
userChoiceNumber = 0.50;
} else if(userChoice == "scissors"){
userChoiceNumber = 1;
} else {
userChoiceNumber = 100;
}
var output = function(choice1, choice2){
document.write("You chose " + choice1)
document.write("\n The computer chose " + choice2)
compare(userChoiceNumber , computerChoice)
var compare = function(choice1 , choice2){
if(choice1 == choice2){
document.write(tieResult);
}
if(choice1 < choice2){
document.write(lossResult);
}
if(choice1 > choice2){
document.write(winResult);
}
};
if(userChoice == 100){
document.write("Please type rock, paper or scissors")
} else {
output(userChoice , computerChoiceLine);
};
}
And I call for it in HTML like this:
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript" src="RockPaperScissors.js"></script>
</body>
</html>
Can anyone please explain what I am doing wrong, and how I should change it?
Upvotes: 1
Views: 404
Reputation: 1550
You've got a missing close brace at the end of your definition of output
and an extra close brace at the end of your js. After I made those changes the script worked.
Upvotes: 1