Nombre secret
Résolu/Fermé
cocodu67...
Messages postés
3162
Date d'inscription
jeudi 28 janvier 2010
Statut
Membre
Dernière intervention
20 novembre 2024
-
2 mars 2013 à 23:40
cocodu67... Messages postés 3162 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 20 novembre 2024 - 3 mars 2013 à 19:01
cocodu67... Messages postés 3162 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 20 novembre 2024 - 3 mars 2013 à 19:01
A voir également:
- Nombre secret
- Code secret téléphone - Guide
- Nombre facile - Télécharger - Outils professionnels
- Appel secret - Guide
- Gto nombre episode ✓ - Forum Jeux vidéo
1 réponse
Exileur
Messages postés
1475
Date d'inscription
mercredi 31 août 2011
Statut
Membre
Dernière intervention
16 décembre 2022
150
3 mars 2013 à 11:34
3 mars 2013 à 11:34
Salut
Ceci devrait être plus correct :)
function has()
{
var n = Math.floor ( Math.random() * 101 );
}
function secret()
{
if(eval(document.formu.nombre.value)<n){
alert("Mauvais choix, le nombre est plus grand");}
else if (eval(document.formu.nombre.value)>n){
alert("Mauvais choix, le nombre est plus petit");}
else{
alert("BRAVO c'est le bon nombre !");}
}
Cordialement
Exileur
Ceci devrait être plus correct :)
function has()
{
var n = Math.floor ( Math.random() * 101 );
}
function secret()
{
if(eval(document.formu.nombre.value)<n){
alert("Mauvais choix, le nombre est plus grand");}
else if (eval(document.formu.nombre.value)>n){
alert("Mauvais choix, le nombre est plus petit");}
else{
alert("BRAVO c'est le bon nombre !");}
}
Cordialement
Exileur
3 mars 2013 à 11:37
2) La fonction random génère un nombre ENTRE 0 et 101
3) Simplification du code pour la vérification du nombre
3 mars 2013 à 11:44
Merci beaucoup de ton aide mais cela ne fonctionne toujours pas.
J'ai mis une alerte javascript dans la fonction has afin de vérifier si elle s'exécute et l'alerte s'affiche bien lorsque je clique pour générer le nombre.
Lorsque je met une alerte directement sous l'accolade qui se trouve sous function secret() cela fonctionne également lorsque je clique sur le bouton Vérifier.
A mon avis, c'est la vérification qui ne se fait pas.
As-tu une idée ?
3 mars 2013 à 11:50
Si, dans une fonction on écrit
La variable n n'existe que dans cette fonction et donc si on utilise la même variable dan une autre fonction, cela ne peut pas fonctionner.
Il suffit avoir de supprimer le var pour obtenir
et ça fonctionne :)
Merci beaucoup d'avoir pris le temps de me corriger, avec ta syntaxe, ma fonction secret est nettement plus compréhensible.
En générale j'arrive à faire les exo mais c'est la syntaxe qui est très mauvaise chez moi du coup souvent j'ai du mal à m'y retrouver si je regarde le code quelques semaines après.
Je pense qu'on aura souvent l'occasion de se reparler, j'adore utiliser CCM car on a toujours des réponses très rapidement.
Bonne journée
3 mars 2013 à 12:02
Modifié par Exileur le 3/03/2013 à 18:36
1) Les utilisateurs peuvent choisir un niveau
2) Les utilisateurs ne peuvent plus appuyer sur "entré" dans le formulaire
3) Les utilisateurs ne peuvent pas valider leur choix si ils rentres des caractères dans le formulaire.
4) Une fois la partie terminé, on leur propose de refaire une partie
5) J'ai aussi fait une correction sur la fonction random ou l'on dois bien indiquer 100 et pas 101.
idées d'améliorations :
Afficher "C'est plus", "c'est moins" via un div cacher ou qq chose du genre plutot que de passer par une alerte, quitte a garder l'alerte quand l'utilisateur a gagner.
Afficher les précédents "coup" tester pour que l'utilisateur ne rentre pas plusieurs fois le même nombre.
Compter les coups, ou les limiter.
proposer un niveau "challenge" qui enregistre le pseudo du joueur avec le nombre minimum de coup.
Le code html :
<html>
<head><title>Le nombre secret</title></head>
<body>
<h1>Le nombre secret</h1>
<script language="javascript" src="nombre_secret_fonctions.js"></script>
<FORM NAME="niveau">
<INPUT TYPE="radio" NAME="niveau" VALUE="10" checked>Niveau 1 : 0-10<BR>
<INPUT TYPE="radio" NAME="niveau" VALUE="100" >Niveau 2 : 0-100</br>
<INPUT TYPE="radio" NAME="niveau" VALUE="200" >Niveau 3 : 0-200<BR>
<INPUT TYPE="button"NAME="but" VALUE="Générer un nombre" onClick="has();">
</FORM>
<form name="formu">
<div align="center">
<b>Quel est ce nombre ? :</b>
<input name="nombre" type="text" size="3" pattern="[0-9]" onkeypress="refuserToucheEntree(event);"/>
<input type="button" value="Vérifier" onclick="secret();">
</div>
</form>
</body>
</html>
Le code JS :
function has()
{
var i;
var tab = document.getElementsByName('niveau');
for (i=0;i<tab.length;i++)
{
if(tab[i].checked)
{
niveau = tab[i].value;
break;
}
}
n = Math.floor ( Math.random() * niveau );
}
function refuserToucheEntree(event)
{
if(!event && window.event) {
event = window.event;
}
if(event.keyCode == 13) {
event.returnValue = false;
event.cancelBubble = true;
}
if(event.which == 13) {
event.preventDefault();
event.stopPropagation();
}
}
function secret()
{
if(eval(document.formu.nombre.value)<n){
alert("Mauvais choix, le nombre est plus grand");}
else if (eval(document.formu.nombre.value)>n){
alert("Mauvais choix, le nombre est plus petit");}
else{
if (confirm("Bravo, vous avez trouve le nombre mystere ! Nouvelle partie ?")) {
document.getElementsByName("nombre")[0].value = "";
has();
}
}
}