jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 10 sept. 2014 à 15:37
tu as raison au niveau du bouton submit j'ai même mis un lien à ce niveau pourqu'à chaque fois la page puisse se charger si on y clique
....
Et si la page se recharge à chaque fois que le joueur vérifie son nombre.... le nombre à trouver (celui généré par l'ordinateur) change à chaque fois... donc comment veux tu que les joueurs tombent dessus... surtout si ils ont 1000 possibilités.....
D'où ma correction...
chris604
Messages postés25Date d'inscriptiondimanche 7 septembre 2014StatutMembreDernière intervention30 décembre 2014 10 sept. 2014 à 14:10
oui! tu as raison au niveau du bouton submit j'ai même mis un lien à ce niveau pourqu'à chaque fois la page puisse se charger si on y clique . Merci pour cette amélioration que je vais essayer d'adapter à mon projet.
Bon... j'avais un peu de temps......
Voici ton code corrigé et légèrement amélioré :
<!DOCTYPE html>
<html lang="fr">
<head>
<title>Mini Jeu... corrigé !</title>
</head>
<style>
#divMain{
border-width:1px;
border-style:dotted;
border-color:black;
width:600px;
}
body{
width: 640px;
margin: auto;
padding-top: 50px;
}
p{
text-align: center;
}
#nombre,#ecran{
background-color: yellow;
}
</style>
<body>
<div id="divMain"><tr><td>
<p>L'ordinateur a choisi un nombre aléatoirement entre 0 et 1000. Quel est-il ?</p>
<input type="hidden" id="NbATrouver" value="">
<div width="100%" style="text-align:center">
<input type="button" name="partie" id="partie" value="Nouvelle partie" onClick="return debut();"></p>
</div>
<div width="100%">
<p>
Entrez un nombre entre 0 et 1000 et appuyez sur "Entrée" :
<input type="text" name="nombre" id="nombre" value="" size="5">
<input type="button" name="solution" id="solution" value="Voir la solution" onclick="return verif()">
</p>
</div>
<br>
<center>
<textarea name="ecran" id="ecran" cols="70" rows="20" readonly >Cliquez sur le bouton Nouvelle partie pour démarer le jeu !
</textarea>
</center>
</body>
</html>
<script type="text/javascript">
function debut(){
var inp = document.getElementById('NbATrouver');
var valToTrouve = Math.floor(Math.random() * 1000) + 1
inp.value = valToTrouve;
var MsgStart = "Cliquez sur le bouton Nouvelle partie pour démarer le jeu !";
document.getElementById('ecran').value = MsgStart;
}
function verif(){
var NbATrouver = document.getElementById('NbATrouver').value;
var nbre = document.getElementById('nombre').value;
var msg ="";
switch(nbre){
case "":
msg="Merci de saisir un nombre"
break;
case NbATrouver:
msg = "Bravo !";
break;
default:
if ((nbre < 0)||(nbre > 1000)){
msg="le nombre doit être comprise entre 0 et 1000 !";
}else if (isNaN(nbre)){
msg ="donnez un nombre";
}else if(nbre>NbATrouver){
msg ="Trop grand...";
}else if(nbre<NbATrouver){
msg ="Trop Petit...";
}
break;
}
document.getElementById('ecran').value = document.getElementById('ecran').value + "\n" + nbre + "=> " + msg;
document.getElementById('nombre').value="";
document.getElementById('nombre').focus();
}
</script>
Comme tu peux le voir j'ai viré les TABLEAUX ...
J'ai géré l'affichage directement dans la page plutôt que de passer par des ALERT ...
Je reforce le focus dans l'input de saisie du nombre pour ne pas avoir à recliquer à chaque fois....
J'ai ajouté des indications si le nombre saisi est trop grand ou trop petit..
J'ai corrigé le Random pour qu'il prenne un nombre entre 1 et 1000 ( et non...1 et 2 )...
J'ai simplifié quelques IF via un SWITCH
J'ai viré le FORM ( et remplacé le bouton SUBMIT ) ... car sinon ta page se recharge à chaque fois... et le nombre à trouver est modifié.......
Voila...
J'espère que ça te permettra de te perfectionner.....
PS : Comme annoncé, ta source a été supprimée car elle ne respectait pas la charte du site... prends en bonne note pour la prochaine fois.
jordane45
Messages postés38145Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention25 avril 2024344 Modifié par jordane45 le 9/09/2014 à 19:21
Bonjour,
Comme d'autres modérateurs te l'ont déjà indiqué sur d'autres de tes sources... la charte de ce forum indique qu'on ne pose QUE des sources ayant un réel interêt....
Hors... Ton "code", non seulement ne sert pas à grand chose (dans le sens où tu ne fais qu'utiliser que quelques IF ...) , mais en plus... est faut....
1 - As tu remarqué que pour vérifier si le chiffre que l'utilisateur entre ... lorsque tu le compare à la valeur cherchée... celle-ci change à chaque fois..... ????
if (nbre==(Math.floor((2)*Math.random()+1))){
console.log (Math.floor((2)*Math.random()+1));
2 - de plus... Si tu fais un petit test rapide.. tu vas vite te rendre compte que seuls les chiffres 1 ou 2 sont utilisés par ton script ....
10 sept. 2014 à 15:37
Et si la page se recharge à chaque fois que le joueur vérifie son nombre.... le nombre à trouver (celui généré par l'ordinateur) change à chaque fois... donc comment veux tu que les joueurs tombent dessus... surtout si ils ont 1000 possibilités.....
D'où ma correction...
10 sept. 2014 à 14:10
Modifié par jordane45 le 10/09/2014 à 15:18
Voici ton code corrigé et légèrement amélioré :
Comme tu peux le voir j'ai viré les TABLEAUX ...
J'ai géré l'affichage directement dans la page plutôt que de passer par des ALERT ...
Je reforce le focus dans l'input de saisie du nombre pour ne pas avoir à recliquer à chaque fois....
J'ai ajouté des indications si le nombre saisi est trop grand ou trop petit..
J'ai corrigé le Random pour qu'il prenne un nombre entre 1 et 1000 ( et non...1 et 2 )...
J'ai simplifié quelques IF via un SWITCH
J'ai viré le FORM ( et remplacé le bouton SUBMIT ) ... car sinon ta page se recharge à chaque fois... et le nombre à trouver est modifié.......
Voila...
J'espère que ça te permettra de te perfectionner.....
PS : Comme annoncé, ta source a été supprimée car elle ne respectait pas la charte du site... prends en bonne note pour la prochaine fois.
Modifié par jordane45 le 9/09/2014 à 19:21
Comme d'autres modérateurs te l'ont déjà indiqué sur d'autres de tes sources... la charte de ce forum indique qu'on ne pose QUE des sources ayant un réel interêt....
Hors... Ton "code", non seulement ne sert pas à grand chose (dans le sens où tu ne fais qu'utiliser que quelques IF ...) , mais en plus... est faut....
1 - As tu remarqué que pour vérifier si le chiffre que l'utilisateur entre ... lorsque tu le compare à la valeur cherchée... celle-ci change à chaque fois..... ????
2 - de plus... Si tu fais un petit test rapide.. tu vas vite te rendre compte que seuls les chiffres 1 ou 2 sont utilisés par ton script ....
bref.... ta source va être supprimée prochainement....