IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Jeux du plus ou moins


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Jeux du plus ou moins
    Bonjour,

    J'ai presque terminé le jeu du plus ou moins en JavaScript, mais parfois il me met plus grand et bravo en même temps.. pourquoi ?

    Je n'ai pas trouver d'erreur là dedans :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <html>
      <head>
        <title> TEST Javascript </title>
    	<script src="exo3.js" type ="text/javascript"></script>
     
      </head>
      <body>
     
    <h1><blink>Nombre au hazard</blink></h1>
     
    <p>
    	<script  type="text/javascript" >
            
            var nombreHazard = Math.floor(Math.random()*101);
              
            do{
                    var nombreEntre = prompt("Donnez un nombre compris entre 0 et 100 : ","");
                    
                    if (nombreEntre > nombreHazard)
                    {
                            document.write("Plus petit <br/>");
                    }
                    if (nombreEntre < nombreHazard)
                    {
                            document.write("Plus grand <br/>");
                    }
                    else 
                    {
                            document.write("Bravo ! <br/>");
                    }
                    
            }while (nombreEntre != nombreHazard);
        
            
            </script>
    </p>
     
    	</body>
    </html>
    Dernière modification par ProgElecT ; 19/09/2018 à 15h55.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    mais parfois il me met plus grand et bravo en même temps..
    Je pense que c'est plutôt plus petit et bravo en même temps... Tout simplement parce que tu ne fais pas la différence entre if et else if.
    Du coup, quand tu rentres dans le premier if, il marque "plus petit" puis ne peut pas rentrer dans le second if et donc rentre dans le else lié au second if...

    D'autre part, ton code à base de document.write, c'est
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour emer62,

    Je te conseillerai de séparer le HTML du javascript : c'est à dire d'éviter au grand maximum le javascript dans la partie <html> de ta page. Laisse le javascript dans l'entête de la page. Pour ce qui est de document.write() je te suggère de l'oublier c'est une source d'erreur chez les débutants.

    Quant à la balise blink, elle ne pique pas trop les yeux ? Elle n'est pas considérée comme obsolète d'ailleurs ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Exercice n°1 :
    il te manque un autre test : vérifier que le joueur entre bien un NOMBRE ENTIER.
    (actuellement, en tapant "coucou" ou "sdfq sdfqs" , ça met aussi "Bravo !" !!)

    Exercice n°2 :
    Et, pourquoi pas, marquer pour chaque essai :
    Essai n° 1 : Plus grand que 50
    Essai n° 2 : Plus grand que 75
    Essai n° 3 : Plus petit que 88
    Essai n° 4 : Plus grand que 80
    Essai n° 5 : Bravo ! C'est bien 84 !
    Dernière modification par Invité ; 04/11/2012 à 20h07.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 684
    Par défaut
    et puis évite aussi tout le reste: prompt, qui bloque le navigateur, do while (idem), hazard, qui n'existe dans aucune langue, etc.

    tiens, je retrouve mon ame d'enfant

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
     
    <title>...</title>
     
    </head>
     
    <body>
     
    <div>
    	<label for="test" id="mess">Trouvez Le nombre mystère entre 0 et 100.</label><br />
    	<input type="text" id="test" size="3" />
    	<input type ="button" id="go" value="résultat" />
    </div>
     
    <script type="text/javascript">
     
    for(var i=0,t=[];i<document.getElementsByTagName("*").length;i++){
            t[document.getElementsByTagName("*")[i].id]=document.getElementsByTagName("*")[i]
    }
     
    var has = Math.floor(Math.random()*101);
    var plus=1;
     
    t.go.onclick=function(){
            if(this.value!="résultat"){
                    t.mess.firstChild.data="Trouvez Le nombre mystère entre 0 et 100."
                    t.test.value="";
                    this.value="résultat";
                    };
            if(!t.test.value || isNaN(t.test.value)){
                    return
            };
            
            if(t.test.value < has){
                    t.mess.firstChild.data="plus grand";
                    plus++;
            }
            if(t.test.value > has){
                    t.mess.firstChild.data="plus petit";
                    plus++;
            }
            if(t.test.value == has){
                    t.mess.firstChild.data="Bravo";
                    this.value="Nouvelle partie";
                    has = Math.floor(Math.random()*101);
                    alert("Nombre de coups: " + plus);
                    plus=1;
            }
    }
     
    </script>
     
    </body>
    </html>

  6. #6
    Invité
    Invité(e)
    Par défaut Merci pour les réponses
    Bonsoir,

    Merci beaucoup pour les réponses, je vais donc revoir les conditions.

    Par contre, je suis en BTS IRIS et les professeurs nous ont donc donné un exemple avec document.write().

    Autre chose, parfois on fait des exercices en faisant un fichier js, qui contient les fonctions et un en HTML+ JavaScript... très mauvais je suppose non ?

    Je vais aussi travailler pour l'améliorer...
    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PC portable] Programmation et jeux plus ou moins recent
    Par bachir006 dans le forum Ordinateurs
    Réponses: 3
    Dernier message: 02/01/2010, 14h19
  2. [C#] 3 chiffres ni plus ni moins
    Par niPrM dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/06/2004, 10h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo