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 :

Devoir utilisant Javascript


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de XAVIERV
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut Devoir utilisant Javascript
    Bonjour à tous les dévelloppeurs , mon problème est part rapport à mon devoir sur le Javascript. Je mets en lien l'énoncé de mon devoir.


    Dans mon devoir on me demande de faire sur ma page index un input qui permettra de rentrer un chiffre de 1 à 100, pour essayé de trouvé le chiffre créer aléatoirement au lancement de la page et d'afficher suivant les informations que rentre l'utilisateur des alertes.

    D'ici là pas de soucis mais après il faut qu'au lancement de la page un prompt affiche le nombre de tentative et qu'à la fin des tentatives pour trouver le chiffre juste un message affiche " Vous avez perdu".

    J'arrive à afficher le prompt directement au lancement de la page mais le problème c'est qu'à chaque fois que la personne rentre un chiffre et que la page affiche le message d'erreur la page s'actualise et le prompt recommence !

    Comment puis-je faire pour que le prompt ne s'affiche qu'une seul fois au démarrage et qu'au bout de 5 tentatives avec des chiffres correctement rentré de 1 à 100 un alert dit " Vous avez perdu ".


    Voilà dans un premier temps je vous mets le code de la page index.html et le code de javascript.js


    J'ai utiliser un sort de tableau qui ajouterai les valeurs de chaque essaie si le chiffre et plus petit ou plus grand

    Index.html
    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
    <!DOCTYPE html>
     
    <html>
     
    <head>
     
    	<title> Devoir </title>
     
    	<link rel="stylesheet" type="text/css" href="style.css" />
     
    	<meta charset="utf-8" />
     
    	<script type="text/javascript" src="javascript.js"></script>
     
    </head>
     
    <body>
     
    <form method="post" action="index.html" name="formulaire" onsubmit="validate()">
     
    	<label for="number">
     
    		<span>Votre nombre :</span>
     
    			<input type="text" name="number_user" id="number">
     
    		</label>
     
    		<input type="submit" value="Valider" name="submit_form"></p>
     
    	</form>
     
    </body>
     
    </html>

    Javascript.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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    // Prompt pour afficher le nombre de tentative 
     
    prompt("Vous avez 5 tentatives pour trouver le chiffre aléatoire entre 1 et 100");
     
    // Fonction pour obtenir un nombre aléatoire entre 1 et 100 
     
    function numRandomTotal(min, max)
    	{
    		return Math.floor(Math.random() * (max - min + 1)) + min;
    	}
     
    // Varriable du chiffre obtenue aléatoirement 
     
    numRandom = numRandomTotal(1, 100);
     
    // Déclaration d'un nouveau tableau nommé allNumUser 
     
    var allNumUser = new Array();
     
    // Fonction qui affiche un message suivant la chose rentré dans le champ de l'input sur index.html	
     
    function validate()
     
    {
    	// Déclaration de variable suivant l'input ou l'on rentre le chiffre entre 1 et 100
     
    	var numUser =document.forms["formulaire"]["number_user"].value; 
     
    	// Si le chiffre rentré par l'utilisateur n'est pas un chiffre et n'éxiste pas 
     
    	if(isNaN(numUser) || !numUser)
    		{ 
    			alert("Vous devez indiquer un nombre !");
     
    		}
     
    	// Si le chiffre rentré par l'utilisateur est plus petit que 1 et plus grand que 100
     
    	else if(numUser >100 || numUser <1)
    	    {
    			alert("Merci de rentrer un chiffre entre 1 et 100");
    		}
     
    	// Si le chiffre rentré par l'utilisateur est plus petit que le chiffre donnée aléatoirement
     
    	else if(numUser < numRandom)
    		{ 
    			alert("Le nombre indiqué est trop petit");
     
    			// Ajout dans le tableau de chiffre rentré par l'utilisateur
     
    			allNumUser = [numUser];
    		}
     
    	// Si le chiffre rentré par l'utilisateur est plus grand que le chiffre donnée aléatoirement 
     
    	else if(numUser > numRandom)
    		{ 
    			alert("Le chiffre indiqué est trop grand");
     
    			// Ajout dans le tableau de chiffre rentré par l'utilisateur
     
    			allNumUser =[nnumUser];
    		}
     
    	// Si le chiffre rentré par l'utilisateur est égal au chiffre donnée aléatoirement
     
    	else if(num == numRandom)
    		{ 
    			alert("Vous avez gagné");
     
    		}
    }
     
    // For utiliser pour compter le nombre de fois que l'utilisateur à tanté ça chance pour rentrer un nombre de 0 à 100
     
    for (i =0; i<=4; i++)
    	{
     
    		// Affiche les nombres rentré dans le champ de l'input entre 1 et 100
     
    		document.write(allNumUser[i]);
     
    		// Si 5 tentatives on été faite 
     
    		if(i == 5)
    		{
     
    		allNumUser.splice(0,5);
    		alert("plus de chance ");
    		}
    	}
     
    // Affiche le nombre donnée aléatoirement 
     
    document.write(numRandom);
    Images attachées Images attachées

  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
    Bonjour,

    Jreaux, ça doit te faire marrer 😆

  3. #3
    Membre averti Avatar de XAVIERV
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut
    Bonjour, Je pense bien que ça peu vous faire marrer c'est du JavaScript de débutant lol !!

  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
    Comme j’ai trouvé un clavier potable, je réponds un peu mieux:
    - document.write = pa bôô
    - quand tu envoies un formulaire, ne t’attends pas à rester sur la même page
    - pourquoi tu veux stocker toutes les réponses dans un tableau, déjà?

  5. #5
    Membre averti Avatar de XAVIERV
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut
    Je sais qu'il ne faut pas s'attendre en envoyant un formulaire à rester sur la même page ^^, mais c'est que je suis correctement les consignes du devoir.


    En faite je veux stocker les chiffres envoyés par le formulaire par l'utilisateur pour pouvoir faire à la 5 ème tentatives un messages d'alert "Vous avez perdu" comme c'est marqué sur l'énoncé du devoir, à moi de trouver la meilleur solution !

  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
    J’entends bien ton objectif, mais il y a une différence entre incrémenter une valeur de 0 à 5 et stocker une série de nombres dans un tableau.

    Bref, pour l’instant, tu effaces et tu refais le tableau a chaque essai...

  7. #7
    Membre averti Avatar de XAVIERV
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut
    Pas de problème par contre je n'arrive pas à ajouter la valeur envoyé par l'utilisateur à un tableau ! Si vous avez une idée ca serai cool.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    for (i =0; i<=allNumUser.length; i++)

  8. #8
    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
    La méthode pour entrer des données dans un tableau est push()Pas très dur à rouver sur l’Internet

  9. #9
    Membre averti Avatar de XAVIERV
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 53
    Par défaut
    Bon bah je n'arrive pas à ajouter à mon tableau une valeur avec push() quand je suis dans la fonction mais uniquement quand je suis en dehors de la fonction créer !

  10. #10
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- Ce qui me fait "marrer", à la lecture de l'énoncé, c'est que quoi qu'on fasse : " Vous avez perdu " lol !
    C'est le jeu du "Qui perd perd !" (Coluche)




    2- Cela dit.... C'est un exercice qu'on a déjà vu 100 fois. : "Deviner un nombre entre 1 et 100 - JS"
    (j'ai d'ailleurs un codepen, mais ce ne serait pas pédagogique de le donner)


    3- Quelques indices :

    3.1- pour ne pas soumettre le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form ....onsubmit="validate();return false;">
    ou carrément supprimer les balises <form...> et </form>, et mettre la fonction JS sur le onclick du bouton.

    3.2- on peut utiliser un <input type="number">


    4- On gagne quasiment à coup sûr en 7 coups (grâce à la dichotomie).
    Et souvent en 6.
    Dernière modification par Invité ; 30/04/2020 à 08h22.

  11. #11
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 983
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 983
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    4- On gagne quasiment à coup sûr en 7 coups (grâce à la dichotomie).
    Et souvent en 6.
    Ouais mais avec un peu d'entraînement on finit par les trouver du premier coup.

Discussions similaires

  1. définir le cadre destinataire utilisant javascript
    Par erman_yazid dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 21/01/2008, 14h22
  2. Comment utiliser javascript dans java ?
    Par Le Débutant dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 22/01/2007, 16h39
  3. utiliser javascript pour compter le temps
    Par pas30 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2006, 08h47
  4. Réponses: 3
    Dernier message: 28/11/2006, 08h44
  5. Pourcentage utilisation javascript
    Par speedev dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/06/2006, 08h40

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