Page 1 sur 1

nombre aléatoire et différent

Posté : 24 mars 2016, 20:38
par DrChristelle
bonjour j'aurais besoin d'aide pour la construction d'un script je vais essayer de détailler au mieux mes besoins.

alors voila j'ai un chffire appelé $resultat ensuite j'ai 2 autres chiffres appelé par la fonction rand() soit $chiffre_rand_1 et $chiffre_rand_2 jusque la pas de soucis, ensuite chaque chiffre est reporté dans un bouton (value) html, voici ou je coince j'aimerais etre en mesure d'obtenir mes 3 boutons avec 1 qui comporte le chiffre $résultat et 2 autres avec les 2 chiffres rand() mais que les 3 soient différents des uns des autres..

exemple :

Code : Tout sélectionner

$resultat = 7; // n'est pas toujours 7 $chiffre_rand_1 = rand(1, 9); // dans cet exemple affiche 3 $chiffre_rand_2 = rand(1, 9); // dans cet exemple affiche 5 <input type="button" value="<?php echo $resultat; ?>"/> <input type="button" value="<?php echo $chiffre_rand_1; ?>"/> <input type="button" value="<?php echo $chiffre_rand_2; ?>"/>
mais il arrive que les 2 rand() tombent sur le meme chiffre voir meme identique que le résultat lui meme soit 3 boutons identique d'ou mon probleme :(

quelqu'un saurait m'aiguiller ?
merci d'avance !

christelle.

Re: nombre aléatoire et différent

Posté : 25 mars 2016, 04:12
par @rthur
Bonjour,

La solution est que tu fasses une boucle qui assignera une valeur à $chiffre_rand_1 jusqu'à ce qu'elle soit différente de $resultat.
Puis idem pour $chiffre_rand_2 en faisant un double test sur $resultat et $chiffre_rand_1

Tu peux même faire les 2 dans la même boucle mais mon conseil est de faire d'abord le dev pour le 1er et ensuite quand ça marchera de voir pour le 2ème

Re: nombre aléatoire et différent

Posté : 25 mars 2016, 05:44
par DrChristelle
re, alors j'ai tenté ceci mais il semble que les chiffres rand 1 et 2 tombent parfois identique quand même :(

Code : Tout sélectionner

<?php $resultat = 3; $chiffre_choix_1 = rand(1, 9); $chiffre_choix_2 = rand(1, 9); if($chiffre_choix_1 == $resultat) { do { $chiffre_choix_1 = rand(1, 9); } while ($chiffre_choix_1 == $resultat); } if($chiffre_choix_2 == $resultat) { do { $chiffre_choix_2 = rand(1, 9); } while (($chiffre_choix_2 == $resultat) || ($chiffre_choix_2 == $chiffre_choix_1)); } ?> <input type="button" value="<?php echo $resultat; ?>"/> <input type="button" value="<?php echo $chiffre_choix_1; ?>"/> <input type="button" value="<?php echo $chiffre_choix_2; ?>"/>
ai-je commis une erreur ?
christelle.

Re: nombre aléatoire et différent

Posté : 25 mars 2016, 09:22
par Spols
Il faut que la condition de ton IF soit la même que celle de ta boucle.

Mais tes conditions IF sont superflue, si tu utilise une structure de boucle DO WHILE, laisse la faire son boulot au moins une fois et utilise sa condition. Le code sera plus compacte et plus facile à comprendre.

Code : Tout sélectionner

<?php $resultat = 3; do { $chiffre_choix_1 = rand(1, 9); } while ($chiffre_choix_1 == $resultat); do { $chiffre_choix_2 = rand(1, 9); } while (($chiffre_choix_2 == $resultat) || ($chiffre_choix_2 == $chiffre_choix_1)); ?> <input type="button" value="<?php echo $resultat; ?>"/> <input type="button" value="<?php echo $chiffre_choix_1; ?>"/> <input type="button" value="<?php echo $chiffre_choix_2; ?>"/>

Re: nombre aléatoire et différent

Posté : 25 mars 2016, 19:11
par DrChristelle
bonjour, bien j'ai testée et tous est bon c'est impeccable, merci à vous ! =D>
au plaisir.

christelle.