2017-10-06 6 views
-2

J'écris un programme en JavaScript qui dit à l'utilisateur s'il a gagné ou non. Les conditions sont les suivantes: Le record de la fille est de 20 secondes, le record du garçon est de 15 secondes. faux départ est n'importe quoi moins de 0.50 secondes, si un concurrent a un faux départ alors ils n'ont pas gagné. Je dois utiliser la commande prompt() pour demander s'ils sont en compétition chez les garçons ou chez les filles, puis demander leur score et le temps de réaction. Ecrire une expression booléenne et créer un message avec la commande alert() en leur disant s'ils ont gagné ou non. Lorsque vous demandez à quel événement l'utilisateur participe, les réponses acceptables sont "boys" ou "girls". Jusqu'à présent, j'ai cela, mais je ne pense pas que ce soit tout à fait juste.Comment créer une expression booléenne en javascript et générer un message en utilisant alert()?

var boysRecord = 15; 
var girlsRecord = 20; 
var falseStart = 0. 50; 
var event = prompt("Are you competing in the boys or girls event?"); 
if (event == "boys" || "girls"); 
var score = prompt("What is your score?"); 
} else { 
var event = prompt("Are you competing in the boys or girls event?"); 
var reactionTime = prompt("What is your reaction time?"); 
if 
(event == "boys"; && score > 15; && reactionTime >= 0.5); 
{ alert(" You have won"); 
} else if { 
(event = "girls"; && score > 20; && reactionTime >= 0.5); 
{ alert(" You have won"); 
} 
else { 
    alert(" You have lost"); 
} 
+0

Qu'est-ce que vous pensez est spécifiquement tort? Y a-t-il des erreurs dans la console? –

+0

logiquement ne * gagneraient-ils pas * si leur score était inférieur à 15 et 20 respectivement? –

+0

15 et 20 sont des records précédents, donc il faudrait atteindre un score plus élevé que celui-ci pour gagner. – Natasha

Répondre

1

D'abord, je vous recommande de mettre en retrait votre code. Il est plus facile à lire et vous aide à garder une trace des parenthèses.

Vous avez quelques erreurs. Il vous manque des parenthèses et vous avez trop de points-virgules.

est ici le code qui devrait fonctionner:

var boysRecord = 15; 
var girlsRecord = 20; 
var falseStart = 0.50; 
var event = prompt("Are you competing in the boys or girls event?"); 
if (event == "boys" || "girls"){ 
    var score = prompt("What is your score?"); 
} else { 
    event = prompt("Are you competing in the boys or girls event?") 
} 
var reactionTime = prompt("What is your reaction time?"); 
if(event == "boys" && score > 15 && reactionTime >= 0.5){ 
    alert(" You have won"); 
} else if(event = "girls" && score > 20 && reactionTime >= 0.5){ 
    alert(" You have won"); 
} else { 
    alert(" You have lost"); 
} 
0

tout d'abord, comme Carlos a mentionné votre code est désordre. Je suppose que vous essayez de faire quelque chose comme ça. https://jsfiddle.net/wpjuzjae/8/

Remarque: Avant d'écrire votre deuxième ligne assurez-vous que votre première ligne fonctionne. Copier le bloc de code ne fonctionne pas toujours.

Bonne chance

var boysRecord = 15; 
var girlsRecord = 20; 
var falseStart = 0.50; 
var score = 0; 
var event = prompt("Are you competing in the boys or girls event?"); 
while (event != "boys" && event != "girls") { 
    event = prompt("Are you competing in the boys or girls event?"); 
} 

var score = prompt("What is your score?"); 
var reactionTime = prompt("What is your reaction time?"); 

if (event == "boys" && score > 15 && reactionTime >= 0.5) { 
    alert(" You have won"); 
} else if (event = "girls" && score > 20 && reactionTime >= 0.5) { 
    alert(" You have won"); 
} else { 
    alert(" You have lost"); 
}