Nombre secret
Résolu
cocodu67...
Messages postés
3178
Date d'inscription
Statut
Membre
Dernière intervention
-
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
cocodu67... Messages postés 3178 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Nombre secret
- Nombre de jours entre deux dates excel - Guide
- Nombre facile - Télécharger - Outils professionnels
- Numéro secret - Guide
- Code secret téléphone - Guide
- Ascii nombre de caractères - Guide
1 réponse
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
2) La fonction random génère un nombre ENTRE 0 et 101
3) Simplification du code pour la vérification du nombre
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 ?
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
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();
}
}
}