d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Noob Question
Add Reply New Topic New Poll
Member
Posts: 16,404
Joined: Mar 28 2009
Gold: 7.69
Jul 6 2015 01:04pm
im unfamiliar with how people generally layout their code when posting in this subforum so im sorry if the formatting isnt the norm

The error message: Oops, try again. Your code returned 'paper wins' instead of 'undefined' when the inputs are scissors and paper.


var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
}
else if(computerChoice <= 0.67) {
computerChoice = "paper";
}
else {
computerChoice = "scissors";
}
console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
}

else if (choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins";
}
else {
return "paper wins";
}
}

else if (choice1 === "paper") {
if (choice2 === "rock") {
return "paper wins";
}
else {
return "scissors wins";
}
}
else if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins";
}
else {
return "paper wins";
}
}
};
compare(userChoice, computerChoice)


EDIT: this might be easier to read



This post was edited by Shakti on Jul 6 2015 01:09pm
Member
Posts: 161,550
Joined: Oct 18 2006
Gold: 4.03
Warn: 20%
Jul 6 2015 02:28pm
Code

var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
console.log("Computer: " + computerChoice);
var compare = function(choice1, choice2) {
if (choice1 === choice2) {
return "The result is a tie!";
} else if (choice1 === "rock") {
if (choice2 === "scissors") {
return "rock wins";
} else {
return "paper wins";
}
} else if (choice1 === "paper") {
if (choice2 === "rock") {
return "paper wins";
} else {
return "scissors wins";
}
} else if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins";
} else {
return "paper wins";
}
}
};
compare(userChoice, computerChoice)



you didn't post the actual question you're trying to answer.. and this should be in web languages section

considering it does work and you have no question asked, it can't really be "fixed"
Member
Posts: 891
Joined: Jun 18 2015
Gold: Locked
Trader: Scammer
Jul 8 2015 06:59am
the last if statement is wrong.

if you have scissors and paper as your choices, scissors wins.

but you have:

Code
else if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins";
}
else {
return "paper wins";
}
}


it should be:

Code
else if (choice1 === "scissors") {
if (choice2 === "rock") {
return "rock wins";
}
else {
return "scissors wins";
}
}
Go Back To Programming & Development Topic List
Add Reply New Topic New Poll