2013-08-11 3 views
1

En ce moment, j'essaie d'apprendre le javascript, mais cela me pose des problèmes.Sortie HTML d'un fichier js

J'ai écrit un petit script de ciseaux de papier de roche, qui devrait donner un certain rendement à l'utilisateur, mais je semble incapable d'obtenir réellement cette sortie.

Le script js est comme ceci:

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); 
}; 
} 

Et je demande en HTML comme ceci:

<!DOCTYPE html> 
<html> 
<body> 
<script type="text/javascript" src="RockPaperScissors.js"></script> 
</body> 
</html> 

Quelqu'un peut-il s'il vous plaît expliquer ce que je fais mal, et comment je devrais changer il?

+2

Quelles sont les erreurs obtenez-vous? – putvande

+0

Vous appelez 'compare' avant de le définir. La sortie de 'tieResult' vous manque? – thriqon

+0

Comme je vois, j'ai défini comparer, avant de l'appeler. Et je ne reçois aucune erreur, je viens d'obtenir une page Web vierge, et il fait l'invite, mais la page reste vide – gooper20

Répondre

1

Vous avez une accolade fermée manquante à la fin de votre définition de output et une accolade extra étroite à la fin de votre js. Après avoir fait ces changements, le script a fonctionné.

+0

Merci une tonne, que ça a marché! Et en testant, m'a fait réaliser que ma fonction de comparaison n'a aucun sens XD – gooper20