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 :

L'instruction prompt avec les gestions d'erreurs


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut L'instruction prompt avec les gestions d'erreurs
    script.js

    Code : 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
     
     
    alert("Vous avez le droit à 4 tentatives");
     
    coups++
     
    var number = prompt("Entrez un nombre entre 1 et 100 : ", ""); 
     
    try {
     
        if(number > random) {
     
            throw "Error1"; 
        } 
        else if(number < random) {
     
            throw "Error2"; 
        } 
        else if(isNaN(number)) {
     
            throw "Error3"; 
        }
    } 
     
    catch(erreur) {
     
        if(erreur == "Error1") {
     
            alert("Erreur ! La valeur est trop grande. Plus que 3 essais."); 
        } 
     
        if(erreur == "Error2") {
     
            alert("Erreur ! La valeur est trop petite. Plus que 2 essais."); 
        }
     
        if(erreur == "Error3") {
     
            alert("Erreur ! La valeur spécifiée n’est pas un numérique. Plus que 1 essai"); 
        }
        else {
     
            alert("Vous avez perdu ! (" + coups + " coups)");
        }
    }
     
    var min = 1; 
    var max = 100;
    var coups = 0; 
    var random = Math.floor(Math.random() * (max - min)) + min; 
    alert(random);
    Bonsoir, ça ne fonctionne pas comme je voudrais. Merci d'avance pour votre aide.

  2. #2
    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
    tu compliques inutilement ton script;

    try / catch sert à gérer proprement les erreurs opérationnelles, pas à déterminer si un utilisateur a échoué au plus ou moins;

  3. #3
    Invité
    Invité(e)
    Par défaut
    script.js

    Code : 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
     
     
    var min = 1;
    var max = 100;
    var NbEssais = 0;
    var random = Math.floor(Math.random() * (max - min)) + min;
    alert(random);
     
    var number = prompt("Vous n'avez que 4 tentatives !");
     
    NbEssais++;
     
    status = "Nombre d'essais : " + NbEssais;
     
    if(number < random)
     
        alert("Non, le nombre est plus grand.");
     
    if(number > random)
     
        alert("Non, le nombre est plus petit.");
     
    if(number == random) {
     
        alert("Correct ! Vous avez trouvé en " + NbEssais + "essais.");
    }
     
    if(NbEssais == 4) {
     
        alert("Désolé, c'est fini. Le nombre correct était : " + number);
    }
    Bonjour, j'ai refais mon script comme ceci, mais ça ne fonctionne toujours pas.

  4. #4
    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
    Il me semblait t'avoir indiqué un code simple, que tu as validé d'ailleurs...

    Laisse tomber prompt() qui est un archaïsme en JS; pour info, ta fenêtre n'apparaîtra qu'une fois donc il n'y a aucune chance que NbEssais soit incrémentée au-delà de 1; et tu transformes le plus/moins en tirage loto avec une chance sur 100 de trouver un nombre (quel est l'intérêt?);

  5. #5
    Invité
    Invité(e)
    Par défaut
    Il faut à tout pris que je le fasse avec l'instruction prompt();

    devoir demandé :

    Un prompt demandant — au premier chargement du fichier HTML —
    à l’utilisateur le nombre maximal de tentatives,

    Si à la dernière tentative, l’utilisateur n’a pas trouvé le nombre
    généré, afficher une alerte — exemple : « Vous avez perdu ! »

  6. #6
    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
    Par exemple (mais c'est pas beau):
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    window.addEventListener("load",()=>{
    	const alea=Math.ceil(Math.random()*100);
    	let t=1, mess;
    	while((mess=prompt(`Choisissez un nombre entre 1 et 100. Nombre d'essais: ${5-t}.`))!=alea && t<4){
    		t++;
    		const res= mess < alea ? "Le nombre est plus grand.": "Le nombre est plus petit."
    		alert(res)
    	}
    	if(mess == alea){
    		alert(`Vous avez trouvé le nombre ${alea}. Nombre de coups: ${t}`)
    	}
    	else alert(`Vous avez perdu. Le nombre était ${alea}.`)
    })

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour, désolé de ne pas avoir donné suite.

    Tout fonctionne maintenant.

    Merci bien et bonne journée à tous

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/05/2007, 13h28
  2. Problème avec les messages d'erreur.
    Par gaet_045 dans le forum JSF
    Réponses: 1
    Dernier message: 01/05/2007, 15h47
  3. Bien programmer une classe avec sa gestion d'erreur
    Par chris81 dans le forum Framework .NET
    Réponses: 8
    Dernier message: 13/02/2007, 18h13
  4. [debutant]J'ai du mal avec la gestion des erreurs
    Par gillou13 dans le forum Langage
    Réponses: 5
    Dernier message: 02/06/2006, 14h33
  5. [Directives] Pb avec les logs d'erreurs
    Par R@IZER dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 19/04/2006, 18h56

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