Je travaille à rendre mon premier jeu (Rock Paper Sissors) et je suis tombé sur un problème où lorsque le userChoice est ciseaux et le computerChoice est roche, le programme ne peut pas retourner le gagnant comme rock. Je peux obtenir le programme pour me donner le gagnant pour toute autre combinaison.Rock, Paper, Scissors en JavaScript
J'ai mon code ici:
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";
}
var compare = function(choice1, choice2) {
if(choice1 === choice2) {
return "The result is a tie!";
}
if(choice1 === "rock") {
if(choice2 === "scissors") {
return "rock wins";
} else {
return "paper wins";
}
}
if(choice1 === "paper") {
if(choice2 === "rock") {
return "paper wins";
} else {
if(choice2 === "scissors") {
return "scissors wins";
}
}
if(choice1 === "scissors") {
if(choice2 === "rock") {
return "rock wins";
} else {
if(choice2 === "paper") {
return "scissors wins";
}
}
}
}
};
console.log("User Choice: " + userChoice);
console.log("Computer Choice: " + computerChoice);
compare(userChoice, computerChoice);
Il y avait une erreur de syntaxe 'manquante accolade requise »ou quelque chose à la fin de la fonction, et vous l'avez inséré là? Ne les croyez pas, l'orthèse manquait ailleurs mais l'analyseur l'a reconnu à la fin. – Bergi
Ce code, une fois corrigé, doit être envoyé à [Code Review] (http://codereview.stackexchange.com), il peut être optimisé par beaucoup. –
ils ont résolu votre problème. mais vous devriez utiliser "else if" quand il est approprié comme dans votre code .. avez-vous vraiment besoin de tous ces {}? code plus propre a moins d'erreurs – gezzuzz