06-03-2007, 12:32 AM
Bonsoir, un script utilisé pour simuler un lancer de X nombres de dés à Y faces. La valeur des dés est stocker dans une variable caché d'un formulaire (par exemple) pour la recevoir sur une autre page.
Ex: L'exemple ci dessous permet d'afficher 2 dés (voir les deux balises A HREF='jde(0)') dans un formulaire afin que le clique sur l'image du dés permettent de lancer la fonction de(n) où n est le numéro de dés (ici 0 et 1). Le lancer change l'image du dés et le résultat des dés est cumulée obtenir la valeur de Zone_DeP caché du formulaire. En prime on affiche le nombre de jets de dés restant.
Note: Il nécessite 7 images ayant pour nom normalisé "de1.gif", "de2.gif" , "de3.gif", "de4.gif" , "de5.gif" , "de6.gif" , "det.gif" (image initiale)
<script language="JavaScript"><!--
var imad=new Array(6); //tableau des 6 images de dés
for (var i=0;i<6;i++) { imad[i]=new Image();imad[i].src='de'+(i+1)+'.gif'} //prech. des 6 images de dés
var x=0; // ce sera le compteur de coups..
var ok=false;
var j=new Array(1);
var lim=2;// c'est le nombre de coups de dés maximum..!
function de(n)
{
var v=0;
if (x<(lim)){ v=1+Math.floor(Math.random()*6);// tirage aléatoire v=1 à 6 !
j[n]=v;
x++;
document.forms["fd"].zone_De.value=(lim)-x; //Champ du nombre de lancer
document.images[n].src='de'+v+'.gif'; //Affectation des images
document.forms["fd"].zone_DeP.value=j[0]+j[1]; //Ici deux dés sont lancer pour remplir la zone DEP
}
}
//-->
</script>
/// Dans le BODY
<FORM name='fd' method='post' action='index.html'>
<A HREF='jde(0)'><IMG SRC='det.gif' NAME='2' BORDER=0 HEIGHT=33 WIDTH=33></A>
<A HREF='jde(1)'><IMG SRC='det.gif' NAME='2' BORDER=0 HEIGHT=33 WIDTH=33></A>
Encore<input type ='text' name='zone_De' size=2> jet(s)
<input type='hidden' name='zone_DeP'>
</FORM>
Petite astuces: Mettez les zones en ReadOnly (afin d'interdire la triche) ex :
<INPUT Readonly type ='text' name='zone_Hab' size=2>
Ex: L'exemple ci dessous permet d'afficher 2 dés (voir les deux balises A HREF='jde(0)') dans un formulaire afin que le clique sur l'image du dés permettent de lancer la fonction de(n) où n est le numéro de dés (ici 0 et 1). Le lancer change l'image du dés et le résultat des dés est cumulée obtenir la valeur de Zone_DeP caché du formulaire. En prime on affiche le nombre de jets de dés restant.
Note: Il nécessite 7 images ayant pour nom normalisé "de1.gif", "de2.gif" , "de3.gif", "de4.gif" , "de5.gif" , "de6.gif" , "det.gif" (image initiale)
<script language="JavaScript"><!--
var imad=new Array(6); //tableau des 6 images de dés
for (var i=0;i<6;i++) { imad[i]=new Image();imad[i].src='de'+(i+1)+'.gif'} //prech. des 6 images de dés
var x=0; // ce sera le compteur de coups..
var ok=false;
var j=new Array(1);
var lim=2;// c'est le nombre de coups de dés maximum..!
function de(n)
{
var v=0;
if (x<(lim)){ v=1+Math.floor(Math.random()*6);// tirage aléatoire v=1 à 6 !
j[n]=v;
x++;
document.forms["fd"].zone_De.value=(lim)-x; //Champ du nombre de lancer
document.images[n].src='de'+v+'.gif'; //Affectation des images
document.forms["fd"].zone_DeP.value=j[0]+j[1]; //Ici deux dés sont lancer pour remplir la zone DEP
}
}
//-->
</script>
/// Dans le BODY
<FORM name='fd' method='post' action='index.html'>
<A HREF='jde(0)'><IMG SRC='det.gif' NAME='2' BORDER=0 HEIGHT=33 WIDTH=33></A>
<A HREF='jde(1)'><IMG SRC='det.gif' NAME='2' BORDER=0 HEIGHT=33 WIDTH=33></A>
Encore<input type ='text' name='zone_De' size=2> jet(s)
<input type='hidden' name='zone_DeP'>
</FORM>
Petite astuces: Mettez les zones en ReadOnly (afin d'interdire la triche) ex :
<INPUT Readonly type ='text' name='zone_Hab' size=2>