Augmenter valeur variable à chaque essai
Fermé
Gaël
-
Modifié par Gaël le 28/09/2011 à 19:40
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 28 sept. 2011 à 21:31
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 28 sept. 2011 à 21:31
A voir également:
- Augmenter valeur variable à chaque essai
- Augmenter vitesse pc windows 10 - Guide
- Augmenter luminosité pc - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Liste de valeur excel - Guide
3 réponses
rafit jad kuldinger
Messages postés
7689
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
2 février 2024
1 151
Modifié par rafit jad kuldinger le 28/09/2011 à 19:51
Modifié par rafit jad kuldinger le 28/09/2011 à 19:51
il te sufi de mettre une boucle qui relace le code tant que la valeur n est pas trouve
avec l incrémentation du nombre d essais ...dans la boucle
si x diferent de y alor revenir au debut du programes et incrémente z de 1...
si x = y alor affiche : bravo tu a trouvé en z essais ...
quand il clique pour quitte : z = 0 ..
en gros c est cas quand au code exacte la jene peu t aidé ..
il te maque la boucle et l incrémentation de ton compteur ...
...
pourquoi faire simple quand on peu faire compliqué ?
avec l incrémentation du nombre d essais ...dans la boucle
si x diferent de y alor revenir au debut du programes et incrémente z de 1...
si x = y alor affiche : bravo tu a trouvé en z essais ...
quand il clique pour quitte : z = 0 ..
en gros c est cas quand au code exacte la jene peu t aidé ..
il te maque la boucle et l incrémentation de ton compteur ...
...
pourquoi faire simple quand on peu faire compliqué ?
rafit jad kuldinger
Messages postés
7689
Date d'inscription
dimanche 4 avril 2010
Statut
Membre
Dernière intervention
2 février 2024
1 151
28 sept. 2011 à 20:17
28 sept. 2011 à 20:17
nomal tu a mi en debut de programes la mise a zero du compteur ..
bon sa position ne change rien, mais il faut une condition autre pour sa mise a zéro ! comme le fait de quitte la page par exemple ...
ou de clique sur ; recommencé ...
donc :
$nombre_essais = 0 quand on clique sur "recommencé" ou quand on quitte la page.
mais a l extérieur de la boucle de ton programmes...
tu sort de la boucle avec la condition x= y
affiche : tu a trouve en z essais ...
si x=y alor affiche z
si clic sur "recommence le jeu"(ce qui reinitilise tous)
il te faut :
l incrémentation de ton compteur se fait quand le joueur fait un nouvelle essais donc a chaque foi que x est différent de y .. (si x diferent de y alor incrémente z de 1 ...)
quand z est = y alor tu sort de la boucle et tu affiche la valeur de z ..
ensuite quand le joueur veux faire uen nouvelle parti ou quite la page z est remi a 0 ..
donc en debut de programes tu met z a 0
tu determine ta valeur a trouve ...
ensuite tu rentre dans ta boucle ...
dans la boucle tu incrémente z
tu sort de la boucle quand la valeur est trouve
tu affiche z
tu met z a 0 quand le joueur relance une parti ou quite la page.
enfin metre a 0 deux foi peu etre inutile mais il faut que z soi obligatoirement
ca va que c est de la logique ^^...
bon sa position ne change rien, mais il faut une condition autre pour sa mise a zéro ! comme le fait de quitte la page par exemple ...
ou de clique sur ; recommencé ...
donc :
$nombre_essais = 0 quand on clique sur "recommencé" ou quand on quitte la page.
mais a l extérieur de la boucle de ton programmes...
tu sort de la boucle avec la condition x= y
affiche : tu a trouve en z essais ...
si x=y alor affiche z
si clic sur "recommence le jeu"(ce qui reinitilise tous)
il te faut :
l incrémentation de ton compteur se fait quand le joueur fait un nouvelle essais donc a chaque foi que x est différent de y .. (si x diferent de y alor incrémente z de 1 ...)
quand z est = y alor tu sort de la boucle et tu affiche la valeur de z ..
ensuite quand le joueur veux faire uen nouvelle parti ou quite la page z est remi a 0 ..
donc en debut de programes tu met z a 0
tu determine ta valeur a trouve ...
ensuite tu rentre dans ta boucle ...
dans la boucle tu incrémente z
tu sort de la boucle quand la valeur est trouve
tu affiche z
tu met z a 0 quand le joueur relance une parti ou quite la page.
enfin metre a 0 deux foi peu etre inutile mais il faut que z soi obligatoirement
ca va que c est de la logique ^^...
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 28/09/2011 à 21:48
Modifié par JooS le 28/09/2011 à 21:48
<?php session_start(); if(isset($_POST['time']) AND $_POST['time'] != $_SESSION['time']) die('Erreur, n\'actualisez pas la page, cliquez <a href="programme.php">ici</a> pour continuer ...'); $time = time(); $_SESSION['time'] = $time; if(isset($_SESSION['compteur']) AND isset($_POST['reponse']) AND is_numeric($_POST['reponse'])) { $_SESSION['compteur']++; $_SESSION['avance'] += 8; if($_SESSION['compteur'] < 25) $_SESSION['color'] = 'green'; else if($_SESSION['compteur'] >= 25 AND $_SESSION['compteur'] < 40) $_SESSION['color'] = 'orange'; else $_SESSION['color'] = 'red'; } elseif(!isset($_SESSION['compteur'])) { $_SESSION['compteur'] = 0; $_SESSION['avance'] = 0; $_SESSION['color'] = 'green'; } if(!isset($_SESSION['nombre'])) { $_SESSION['nombre'] = rand(1, 1000000); } ?> <h2>Trouvez un nombre entre 1 et 1 000 000</h2> <div style="width:400px;border:1px solid black;overflow:hidden;"><div style="background-color:<?php echo $_SESSION['color']; ?>;height:10px;float:left;width:<?php echo $_SESSION['avance']; ?>;"></div></div> <form action="programme.php" method="post"> <p> <input type="text" name="reponse" /> <input type="hidden" name="time" value="<?php echo $time; ?>" /> <input type="submit" value="Valider" /> </p> </form> <?php if($_SESSION['compteur'] != 0) echo '<p>Nombre d\'essais : '.$_SESSION['compteur'].'</p>'; if(!isset($_POST['reponse'])) die(); if(!is_numeric($_POST['reponse'])) die('Ce n\'est pas un nombre.'); if($_SESSION['compteur'] >= 50) { $_SESSION['nombre'] = rand(1, 1000000); $_SESSION['compteur'] = 0; $_SESSION['avance'] = 0; die('Vous avez perdu.<br>cliquez <a href="programme.php">ici</a> pour rejouer ...'); } if($_POST['reponse'] < 1 OR $_POST['reponse'] > 1000000) { echo "<p>Ce nombre est incorrect.</p>"; } elseif ($_POST['reponse'] < $_SESSION['nombre']) { echo "<p>Ce nombre est trop petit.</p>"; } elseif ($_POST['reponse'] > $_SESSION['nombre']) { echo "<p>Ce nombre est trop grand.</p>"; } else { echo '<p>Bravo ! Tu as enfin réussi à trouver la solution ! <br>cliquez <a href="programme.php">ici</a> pour continuer ...</p>'; $_SESSION['nombre'] = rand(1, 1000000); $_SESSION['compteur'] = 0; $_SESSION['avance'] = 0; } //echo $_SESSION['nombre']; ?>
EDIT !!!
Voila, avec une petite touche personnelle.
JooS
Messages postés
2468
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 28/09/2011 à 21:32
Modifié par JooS le 28/09/2011 à 21:32
ben au fait non, mais maintenant tout fonctionne ... ;)
Enfin, j'espère ...
Enfin, j'espère ...
28 sept. 2011 à 20:05
pour le début, et à la fin, je pourrais mettre
Le problème est que, au moment où le visiteur clique sur Valider, la variable reprend la valeur 0 et donc, elle ne compte pas le nombre d'essais...
28 sept. 2011 à 20:07
28 sept. 2011 à 20:08
Modifié par JooS le 28/09/2011 à 20:21
@rafit jad kuldinger avec une boucle ?!!! o_O'
@Gael tu doit utiliser une variable globale, $_SESSION ou $_COOKIE, je te conseille les sessions pour que l'utilisateur ne pourra pas modifier le contenu de cette dernière ...
donc tu ajoute ça au debut de ton script ...
et pour afficher le nombre des essaies ...
a+
28 sept. 2011 à 20:24