11521 sujets

JavaScript, DOM et API Web HTML5

upload/1552578847-74836-image1.png bonjour tout le monde,
je suis débutante en javascript et je fais souvent des exercices pour m'améliorer, ce pendant je suis entrain de faire un exo et je bloque complétement Smiley sweatdrop voici le résultat que je dois avoir (en image pj).
voici mon code HTML:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <link rel="stylesheet" type="text/css" href="001.css">
        <title> Presentation d'animaux</title>
    </head>

    <body>
            <h1>Jeux de nombre</h1>
            <div id="demo">
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
                <p></p>
            </div>
            <script type="text/javascript" src="001.js"></script>
   </body>
</html>

voici mon code Javascript:



var nbrDeviner=Math.floor(Math.random()*101);
alert(nbrDeviner);
var nbrEntrer="";
var x = document.getElementById("demo");
var y = x.getElementsByTagName("p");

    for (var i=0;i<3;i++){
        for (var j=0;j<3;j++) {
            nbrEntrer=parseInt(prompt("merci de rentrer un nombre entre 1 et 100 ! " ));
            if (nbrEntrer===nbrDeviner) {
                y[i].innerHTML = ("vous avez ecrit" + nbrEntrer[j]);
                document.write("vous avez gagné");
                }
            else if (nbrEntrer>nbrDeviner||nbrEntrer<nbrDeviner){
                y[i].innerHTML = ("vous avez ecrit" + nbrEntrer[j]);
                document.write("perdu");
            }
            else {
                document.write("erreur");
            }
        }
    }

Merci d'avance pour votre aide!
Modifié par Atina97 (14 Mar 2019 - 16:54)
Modérateur
bonjour,

Les sujets où il y a "SOS", "HELP", "URGENT", c'est mal vu. Cela dit, en lisant ton message, tu as pris le temps de bien le composer. De ce fait, je vais te donner un coup de pouce.

Ce que tu as écris est plutôt bon. Sauf que tu as mis une boucle en trop et que ta sémantique est un peu inappropriée.

Il est préférable d'utiliser while au lieu de for dans ce cas là (après, c'est seulement une piste à suivre). Je vais t'écrire le script sous forme algorithmique. Tu n'auras plus qu'à transposer en JS. Grosso modo, il faut penser ainsi.


nouvelle_partie = vrai
TANTQUE nouvelle_partie EST ÉGALE À vrai ALORS
    nbrDeviner = random(1,100)
    nbrEntrer = ""
    gagné = faux
    tour_de_jeu = 3
    résultat = ""
    
    TANTQUE gagné EST ÉGALE À faux ET tour_de_jeu EST SUPÉRIEUR À 0 ALORS 
        tour_de_jeu = tour_de_jeu - 1
        nbr_entrer = prompt("merci de rentrer un nombre entre 1 et 100 ! ")
        
        SI nbr_entrer EST ÉGALE À nbrDeviner ALORS
            résultat = "Vous avez gagné !"
            gagné = vrai        
        SINON SI nbr_entrer EST SUPÉRIEUR À nbrDeviner ALORS:
            résultat = "Le chiffre à deviner est inférieur"
        SINON SI nbr_entrer EST INFÉRIEUR À nbrDeviner ALORS:
            résultat = "Le chiffre à deviner est supérieur"
            
        ECRIRE résultat
    FIN TANTQUE
    
    SI tour_de_jeu EST ÉGALE À 0 ALORS
        résultat = "Vous avez perdu ! Le nombre à trouver était : "
        ECRIRE résultat + nbrDeviner
        
    nouvelle_partie = confirm("Voulez vous rejouer ?")
FIN TANTQUE


Que tu aies utilisé ===, c'est très bien ! Tu utilises parseInt, c'est très bien aussi. Mais comme tu l'as fait, tu vas rencontrer des bugs ! Je t'invite à consulter la doc pour mieux comprendre pourquoi tu auras des bugs.

En tout cas, en lisant ton code, sache tout de même que tu as acquis de bons réflexes.
Au passage, si tu veux pousser plus loin cet exercice. Pourquoi ne t'essayerais tu pas à te créer un jeu du pendu / roue de la fortune. Smiley cligne
Modifié par niuxe (15 Mar 2019 - 19:23)