Lancer deux dés PHP

Madonnina78 Messages postés 27 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 9 juin 2012 - 2 mars 2011 à 00:51
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 - 3 mars 2011 à 11:29
Bonjour j'ai créé un script qui génère le lancer d'un dé avec une boucle tant qu'on a pas obtenu le chiffre 6

Je dois faire la même chose mais cette fois avec le lancer de deux dés et je n'y arrive pas.

Si quelqu'un peut m'aider meric.

Voici le script pour le lancer d'un seul dé;

<form name="recherche" method="post" action="de.php">



</form>






<?php

$jet=rand(1,6);
$compteur=0;

while($jet!=6)
{
$jet=rand(1,6);
$compteur++;


echo 'vous avez tiré un '.$jet;
echo '
';

}
echo 'vous avez tiré un six apres '.$compteur.'coups';



?>

6 réponses

Madonnina78 Messages postés 27 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 9 juin 2012
2 mars 2011 à 00:52
J'oubliais cette fois il faut une boucle tant qu'on a pas obtenu deux 6
0
cs_ludwig59 Messages postés 128 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 6 mai 2011 2
2 mars 2011 à 12:00
Bonjour

$compteur=0;
do
{
   $jet1=rand(1,6); // valeur du dé 1
   $jet2=rand(1,6); // valeur du dé 2
   $compteur++;
   echo 'vous avez tiré un '.$jet1;
   echo '
et un '.$jet2;
   echo '

';
}while($jet1 != 6 && $jet2 != 6);

echo 'vous avez tiré deux six apres '.$compteur.'coups'; 


Tant qu'on n'a pas 2 six on rejette les dés, et incrémente le compteur et on affiche les jets.
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
2 mars 2011 à 13:06
Le javascript permet de faire des statistiques plus rapidement sans devoir recharger la page autant de fois !

Pour exécuter 100 fois 10 000 tirages :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Doubles lmancers de dés</title>
<style type="text/css">
</style>
</head>

Doubles tirages



<script type="text/javascript">
DoubleTirage=function(n){var i,j,k=0,c=0;
k=0;while (k<n) {k++;
i=Math.floor(6*Math.random());if (i!=5) continue;
j=Math.floor(6*Math.random());if (j==5) c++;
}
this.res='n°'+cmp+' '+c+' doubles 6 sur '+n+' tirages';
}
var cmp=0;
function tir(){
document.getElementById('rst').innerHTML+='
'+new DoubleTirage(10000).res;
if (cmp++<100) setTimeout('tir()',100);
}
tir();
</script>
</html>
0
Madonnina78 Messages postés 27 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 9 juin 2012
2 mars 2011 à 21:55
Merci ça marche un grand grand merci :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
2 mars 2011 à 23:07
C'est plus spectaculaire avec 36000 fois (il suffit d'écrire new DoubleTirage(36000).res à la fin du script), car l'on peut voir comment les résultats fluctuent autour de 1000 tirages...
0
007Julien Messages postés 276 Date d'inscription mercredi 22 septembre 2010 Statut Membre Dernière intervention 8 janvier 2014 4
3 mars 2011 à 11:29
Les dés sont jetés !

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title>Doubles tirages de dés</title>
<style type="text/css">
body {margin:0;padding:0;font:12px/17px Garamond;color:#009;text-align:center;}
#pge {margin:0 auto;width:700px;}
h1 {font:20px/28px;}
#trg {text-align:left;}
#grh,#grk {width:350px;float:left;text-align:left;}
#grh p{margin:0;padding:0;}
#grk p{margin:0;padding:0;}
.cls {display:block;float:left;margin:0;padding:0;border:0;background:#909;}
.fix {display:block;float:left;margin:0;padding:0;border:0;width:60px;text-align:right;}
</style>
</head>


Doubles tirages

Cette page simule des lancers de dés par tirages aléatoires.

Elle procède d'abord à 1000 épreuves comprenant chacune 3 600 doubles lancers et affiche

le nombre de « double-six » obtenus ainsi que le rang (entre parenthèses) du premier d'entre eux.




Elle procède ensuite à quelques comptages mettant en évidence la répartition des nombres et rangs obtenus.








<script type="text/javascript">
DblTrg=function(n){var i,j,k=0,c=0,r=0;
k=0;while (k<n) {k++;
i=Math.floor(6*Math.random());if (i!=5) continue;
j=Math.floor(6*Math.random());if (j==5) {c++;if (!r) {r=k;this.rng=k}}}
this.nbr=c;
}
var cmp=0,tbl={},tbr={};
function tir(){var n=new DblTrg(3600),t=n.nbr,r=n.rng;
document.getElementById('trg').innerHTML+=t+'('+r+')'+(++cmp<1000?', ':'.');
t=t-t%2;
if (typeof(tbl[t])=='undefined') tbl[t]=1;
else tbl[t]++;
if (typeof(tbr[r])=='undefined') tbr[r]=1;
else tbr[r]++;
if (cmp<1000) setTimeout('tir()',10);
else grp();
}
tir();
function grp(){var c='',t,s=0;
for (t=60;t<140;t+=2){
if (typeof(tbl[t])=='number') c+=' '+tbl[t]+' cas '+t+'-'+(t+1)+'

';
else c+=' '+t+'-'+(t+1)+'

';}
document.getElementById('grh').innerHTML=c;
c='';
for (t=1;;t++){
if (typeof(tbr[t])=='number') {s+=tbr[t];
c+=' '+tbr[t]+' cas '+t+'

';
if (s==1000) break;}
else c+=' '+t+'

';}
document.getElementById('grk').innerHTML=c;
}
</script>

</html>
0
Rejoignez-nous