Cependant lorsque je rentre une valeur mon script fais planter mon navigateur, je n'arrive pas à trouver une solutions, un peux d'aide serais la bienvenue à
Cordialement
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
// COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Décommentez temporairement cette ligne pour mieux vérifier le programme
//console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
var nombre = Number(prompt("Entrez un nombre :"));
while(nombre !== solution)
{
if (nombre > solution)
{
console.log(nombre + " est trop grand");
}
else if (nombre < solution)
{
console.log(nombre + " est trop petit");
}
}
while (nombre == solution)
{
console.log("Bravo ! La solution est " + solution);
}
C'est normal car tu boucles à l'infini. Tu demandes à l'utilisateur d'entrer un nombre, puis tant que ce nombre est différent de la solution, tu restes dans ta boucle. Mais à aucun moment tu lui demandes de saisir de nouveau un nombre.
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
// COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Décommentez temporairement cette ligne pour mieux vérifier le programme
//console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
var nombre = Number(prompt("Entrez un nombre :"));
while(nombre !== solution)
{
if (nombre > solution)
{
console.log(nombre + " est trop grand");
nombre = Number(prompt("Retente ta chance !"))
}
else if (nombre < solution)
{
console.log(nombre + " est trop petit");
nombre = Number(prompt("Retente ta chance !"))
}
}
if(nombre == solution)
console.log("Bravo !! La solution est : " + solution);
J'ai un autre probleme pour le coup sur ce test, on me demande de faire en sorte que la personne ne puisse faire que 6 essai afin de trouver le bon numero, cependant je ne sais absolument pas comment realiser ceci, une petite aide de votre part serais la bienvenue que je sache comment realiser une chose pareil =)
Il a plusieurs façons de faire ça. Je n'ai pas suivi le MOOC, ni regardé l'exercice finale donc je ne vais pas te dire que c'est la meilleure méthode mais tu peux faire ceci :
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 6)){
if (nombre > solution)
console.log(nombre + " est trop grand");
else (nombre < solution)
console.log(nombre + " est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre == solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
Il a plusieurs façons de faire ça. Je n'ai pas suivi le MOOC, ni regardé l'exercice finale donc je ne vais pas te dire que c'est la meilleure méthode mais tu peux faire ceci :
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 6)){
if (nombre > solution)
console.log(nombre + " est trop grand");
else (nombre < solution)
console.log(nombre + " est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre == solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
Quand la solution est bonne, j'ai "Bravo vous avez gagné"
Mais quand je fais exprès de me tromper, il me dit " c'est moins", puis peu après, "c'est plus"
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
//COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
consolelog("Bienvenue dans ce jeu de devinette !");
//Cette ligne génère aléatoirement un nombre entre et
var solution = Math.floor(Math.random() * 100) + 1;
//console.log("(La solution est " + solution + ")");
var nombre = Number(prompt("Entrez un nombre));
var tentative = 0;
while((nombre !== solution) && (tentative < 6)) {
if (nombre > solution)
console.log(nombre + "est trop grand");
else(nombre < solution)
console.log(nombre + "est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre"));
}
if (nombre == solution)
console.log("Bravo ! La solution est" + solution);
else
console.log("Vous avez perdu);
Bonjour,
Quelqun pourrait me dire pourquoi mon code ne marche pas j'ai fait comme vous montrez plus haut mais quand je charge le fichier html dans le naviguateur il se passe rien .
GuillaumeMontant tu console.log donc si tu es sur chrome ouvre les outils de développement et regarde dans la console. Si tu as une erreur la console te le dira et t'indiqueras l'endroit ou ce situe ton erreur.
/*
Activité : jeu de devinette
*/
// NE PAS MODIFIER OU SUPPRIMER LES LIGNES CI-DESSOUS
//COMPLETEZ LE PROGRAMME UNIQUEMENT APRES LE TODO
consolelog("Bienvenue dans ce jeu de devinette !");
//Cette ligne génère aléatoirement un nombre entre et
var solution = Math.floor(Math.random() * 100) + 1;
//console.log("(La solution est " + solution + ")");
var nombre = Number(prompt("Entrez un nombre));
var tentative = 0;
while((nombre !== solution) && (tentative < 6)) {
if (nombre > solution)
console.log(nombre + "est trop grand");
else(nombre < solution)
console.log(nombre + "est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre"));
}
if (nombre == solution)
console.log("Bravo ! La solution est" + solution);
else
console.log("Vous avez perdu);
Bonjour,
Quelqun pourrait me dire pourquoi mon code ne marche pas j'ai fait comme vous montrez plus haut mais quand je charge le fichier html dans le naviguateur il se passe rien .
Ligne 17, il faut fermer tes guillemets avant la fin de ta parenthèse :
("Entrez un nombre")
Sinon JavaScript considère que tout ce qui suit derrière avant le prochain guillemet fait partie de la chaine d'une chaine de caractère et n'applique pas le code.
var nombre = Number(prompt("Entrez un nombre :")); var tentative=0; while(nombre !== solution) { if (nombre > solution) { console.log(nombre + " est trop grand"); nombre = Number(prompt("Retente ta chance !")) }
else if (nombre < solution) { console.log(nombre + " est trop petit"); tentative++; nombre = Number(prompt("Retente ta chance !")) } } if(nombre == solution) console.log("Bravo !! You Win : " + solution);
Le message suivant s'affiche dans mon inspecteur : "SyntaxError: missing ; before statement" et rien ne s'affiche dans mon débogueur.
J'ai vérifié mes accolades pls fois ainsi que mes ";" mais il n'y a rien à faire je ne trouve pas d'où provient l'erreur... qui empêche l'affichage de mon code.
Voici mon code
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Décommentez temporairement cette ligne pour mieux vérifier le programme
console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
var nombre = Number(prompt("Veuillez saisir un nombre :")); // Le joueur insère un nombre.
var nbTentative = 0; // Le nbre de tentative.
while ((nombre !== solution) && (nbTentative < 6)) { // Tant que le nbre est different de la solution aléatoire et qu'il reste - de 6 tentatives.
if (nombre > solution) { // Si le nbre est inférieur au nbre aléatoire, le message ci-dessous s'affiche.
console.log(nombre + " est trop grand.");
}
else (nombre < solution) { // Si le nbre est supérieur au nbre aléatoire, le message ci-dessous s'affiche.
console.log(nombre + " est trop petit.");
tentative++;
nombre = Number(prompt("Retentez votre chance :"));
}
if (nombre == solution) {
console.log("Bravo ! La solution était " + solution);
}
else (nbTentative > 6) {
console.log("Perdu... La solution était " + solution);
}
}
Qu'est ce qui cloche selon vous dans la syntaxe de mon code ou ailleurs d'ailleurs!?
Merci d'avance pour vos réponse =).
PS :
bonjour,
j'ai finalement trouvez le problème de syntaxe, il n'arrive a lire le code que lorsque j'écris "else if" et non juste "else".
Le message d'erreur n'a pas l'air de correspondre que très très rarement à l'erreur réelle. En fait il faut apprendre à le décoder mdrr.
J'essaie de vérifier si mon prog fonctionne sur firefox, mais il plante à chaque fois!!
Du coup je ne sais plus ce que je dois modifier ...
Merci pour votre aide !!!
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne genere aleatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
// Decommentez temporairement cette ligne pour mieux verifier le programme
console.log("(La solution est " + solution + ")");
// TODO : completez le programme
var nombre=Number (prompt("Saisissez un nombre entre 1 et 100 : "));
var essai= 0;
while((nombre !== solution) && (essai < 6 )) {
if (nombre < solution) {
console.log(nombre + " est trop petit. ");
}
else if (nombre > solution) {
console.log(nombre + " est trop grand. ");
tentative++;
nombre = Number(prompt(" Entrez un nombre : " ));
}
if (nombre == solution ){
console.log(" Bravo ! La solution est " + solution);
}
else {
console.log(" Vous avez perdu!" );
}
}
il est écris dans le cours : "Si on peut prévoir à l'avance le nombre de tours de boucles à effectuer, la boucle for est le meilleur choix. Sinon, il vaut mieux utiliser le while." Comme on sait qu'on fera 6 tours de boucles maximum, j'ai choisi un for.
Voici le résultat, qui fonctionne parfaitement :
- Edité par BenjaminBARUK 22 février 2017 à 11:15:00
Je viens de faire l'activité... j'ai un code quasi identique à celui qui précède... MAIS... il plante. Quand je tape deux fois de suite le même nombre , il plante. Je peux continuer à l'exécuter et il ira au bout des essais de l'utilisateur, mais je n'ai plus l'indice qui s'affiche. Et lorsque je n'ai plus de "vie", j'ai bien la solution qui apparait mais suivi d'un "NS_ERROR_XPC_SECURITY_MANAGER_VETO.
console.log("Bienvenue dans ce jeu de devinette !");
// Cette ligne génère aléatoirement un nombre entre 1 et 100
var solution = Math.floor(Math.random() * 100) + 1;
console.log("(La solution est " + solution + ")");
// TODO : complétez le programme
var proposition = Number(prompt("Entrez un nombre :"));
for (var vie=1; vie <=6; vie++)
{
if (proposition===solution)
{
console.log("Bravo, vous avez gagné. La solution était "+solution);
console.log("Vous avez trouvé le bon numéro en "+vie+" essai(s)");
}
if (proposition < solution)
{
console.log("Raté. Un indice ? "+proposition+" est plus petit que le nombre recherché");
}
else if (proposition > solution)
{
console.log("Raté, "+proposition+" est plus grande que le nombre recherché");
}
proposition=Number(prompt("Essayez un nouveau nombre"));
if (vie===6)
{
console.log("Perdu ! La solution était "+solution);
}
}
bonjour j'ai créer un jeu le but est de choisir un chiffre entre 1,2 ou 3 l'ordinateur joue également aléatoirement mais je n'arrive ni a trouver la fonction pour déplacer les pions ( il monte de leur chiffre choisi seulement si il est différent de celui de l'ordinateur).
et je n'arrive pas a faire la fonction qui dis que c gagner quand un des pions arrive a la 15e marche
console.log("Bienvenue dans ce jeu de devinette !");
var solution = Math.floor(Math.random() * 100) + 1;
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 5)){
if (nombre > solution)
console.log(nombre + " est trop grand");
else (nombre < solution)
console.log(nombre + " est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre == solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
Bonsoir voici mon code.
quand je met un nombre superieur à la solution on m'ecrit dans le deboguer : est trop grand ,est trop petit.
console.log("Bienvenue dans ce jeu de devinette !");
var solution = Math.floor(Math.random() * 100) + 1;
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 5)){
if (nombre > solution)
console.log(nombre + " est trop grand");
else (nombre < solution)
console.log(nombre + " est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre == solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
Bonsoir voici mon code.
quand je met un nombre superieur à la solution on m'ecrit dans le deboguer : est trop grand ,est trop petit.
console.log("Bienvenue dans ce jeu de devinette !");
var solution = Math.floor(Math.random() * 100) + 1;
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 5)){
if (nombre > solution)
console.log(nombre + " est trop grand");
else (nombre < solution)
console.log(nombre + " est trop petit");
tentative++;
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre == solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
Bonsoir voici mon code.
quand je met un nombre superieur à la solution on m'ecrit dans le deboguer : est trop grand ,est trop petit.
C'est normal que cela t'affiche : "est trop grand" lorsque tu entres une valeur supérieur à la solution. Car tu es dans une boucle while. Quand tu vérifie la condition du premier
if( nombre > solution )
à la ligne 7
Elle sera toujours vraie ! Tu as aussi oublié de permettre à l'utilisateur de resaisir dans ce cas. Donc pour conclure ton programme t'affichera " est trop grand". Tu ne te sert pas des accolades lorsque tu utilises plus d'une instruction par test.
var nombre = Number(prompt("Entrez un nombre")); doit appartenir à la boucle while, tu comprendras mieux en regardant la position de mes accolades dans la solution en bas
console.log("Bienvenue dans ce jeu de devinette !");
var solution = Math.floor(Math.random() * 100) + 1;
var nombre = Number(prompt("Entrez un nombre :"));
var tentative = 0;
while((nombre !== solution) && (tentative < 5))
{
if (nombre > solution)
{
console.log(nombre + " est trop grand");
tentative++;
}
else (nombre < solution)
{
console.log(nombre + " est trop petit");
tentative++;
}
var nombre = Number(prompt("Entrez un nombre:"));
}
if(nombre === solution)
console.log("Bravo ! La solution est " + solution);
else
console.log("Vous avez perdu!");
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
lesjoiesducode / Les points-virgules en JavaScript
J'ai trouver, merki à toi Thomas =)
lesjoiesducode / Les points-virgules en JavaScript
lesjoiesducode / Les points-virgules en JavaScript
lesjoiesducode / Les points-virgules en JavaScript
lesjoiesducode / Les points-virgules en JavaScript