en fait, j'avais cette idée en tête depuis un bon moment, pour avoir vu ce genre de jeu sur un site
donc j'ai cherché un moyen de le réaliser (logiciel ? site particulier ? autre ?) et j'ai trouvé un script sur
ce sitemais ce script ne marche pas très bien, il a quelques défauts (notamment, leur bouton "rejouer" ne marche pas)
donc j'y ai apporté quelques modifs (surtout de présentation) et mon copain informaticien l'a bidouillé pour que tout marche (bouton "rejouer", affichage aléatoire du "gagné" ...)
voici le code définitif si tu veux t'en servir, à toi juste de modifier ce qui t'arrange
à insérer entre les balises <head> de ta page
| Code: |
<script language="JavaScript"> <!-- //PLF- http://www.jejavascript.net/ function nb_aleatoire(nb) { nombre= Math.floor(Math.random() * nb)+1; }
// variables ********* nbc=12 //nombre de cartes multiple de 4 nom_dir="yst" // nom du répertoire contenant les images du jeux ; mettre "." si même que le script nom_im="img" //début du nom des image => nom_im(n°).gif nom_im=nom_dir+"/"+nom_im /* * note Nicron : * créer les images suivant la règle de nomage décrite ci-dessous */ // n° = 00 image vide ou transparente - 0 dos carte - de 1 à 6 pour 12 cartes (6 paires) // il faut aussi une image gagne.gif tg=800 // temporisation en ms définissant la vitesse d'animation de l'image gagne.gif (voir fonction gagne)
tirage = new Array; //tirage aléatoire place = new Array; choix=0; nbim2=0; nbim3=0; choixim=1 gain=0; nombres=""; divs=nbc/2; nb=nbc+1; cpt=0;
for (i=1 ;i<nb ;i++) { nb_aleatoire(nbc); tirage[i]= nombre; for (t=1 ; t<i ;t++){ if (tirage[t]==nombre) { i=i-1; }}} for (i=1 ;i<nb ;i++) { if (tirage[i]>divs) nbtire=tirage[i]-divs; else nbtire=tirage[i]; place[i]=nbtire; }
/* implémentation de la fonction gagne par Nicron */ /* affichage aléatoire de l'image 'gagne.gif' */ function gagne() { efface(nbim3); while((nbim3 = Math.floor(Math.random() * nbc)+1) == nbim2) ; document.images[nbim3-1].src = nom_dir+'/gagne.gif'; nbim2 = nbim3; // assigne l'ancienne valeur avec la nouvelle setTimeout("gagne();",tg); }
function change_im(nbim) { // if (place[nbim] !=0) { if (nbim==nbim2) nbim=0; else{ if (nbim==nbim3) nbim=0; else{ if (choixim==3) { if (val1==val2) {efface(nbim2);efface(nbim3);gain++;} else {no_efface(nbim2);no_efface(nbim3);} choixim=1; nbim3=0 } if (choixim==1) {nbim2=nbim;val1=place[nbim];choix++;} if (choixim==2) {nbim3=nbim;val2=place[nbim];} choixim++; } } document.images[nbim-1].src = nom_im+place[nbim]+".gif"; if (choixim==3){ if (gain==divs-1) { setTimeout("efface(nbim2); gagne();",500); gain++; } } document.form1.result.value = choix } }
function efface(eff) { document.images[eff-1].src = nom_im+"00.gif"; place[eff]=0 }
function no_efface(eff) { document.images[eff-1].src = nom_im+"0.gif";}
//--> </script> |
à insérer entre les balises <body> de ta page
| Code: |
<script language="JavaScript"> <!-- //PLF- http://www.jejavascript.net/ document.write('<table border="0" align="center">'); for (i=1 ;i<(nbc/4)+1 ;i++){ document.write('<tr>'); for (t=1 ;t<5 ; t++){ cpt++; document.write('<td><a href="#" onClick="change_im('+(cpt)+')"><img src="'+nom_im+'0.gif" width="100" height="100" border="0"></a></td>'); } document.write('</tr>'); } document.write('</table><p> </p>'+ '<form name="form1">'+ '<table width="410" border="0" align="center" style="background-color: transparent;">'+ '<tr><td width="200" align="center">'+ '<strong>Nombre de coups</strong> '+ '<input name="result" type="text" id="result2" size="5">'+ '</td><td width="100" align="center">'+ '<input type="button" name="Submit" class="button" onClick="window.location.reload()" value="Rejouer">'+ '</td><td align="center">'+ '</td></tr><tr>'+ '<td colspan="3"><strong>Le but du jeu est de retourner '+ 'les cartes 2 par 2, afin de trouver les cartes identiques</strong></td>'+ '</tr></table></form>'); //--> <!--//PLF- http://www.jejavascript.net/ //--> </script> |
n'oublie pas de modifier ce qui doit l'être !
et si tu as des questions, n'hésite pas !_________________
