/*taquuin*\

/*taquuin*\ - HTML/CSS - Programmation

Marsh Posté le 22-04-2005 à 19:47:36    

slt,  
j'essaye de programmer le je de taquin en javascript mais il y a un problème d'affichage lorsque je change la taille de la grille, voici le source :  
 

Code :
  1. <html>
  2. <head><title>==> Le Taquin <==</title>
  3.  
  4. <style type="text/css">
  5. TR { width: 60px; height: 60px }
  6. TD { width: 60px; height: 60px; TEXT-ALIGN: center}
  7. </style>
  8. <script language="javascript">
  9. var x=0;
  10. var y=0;
  11. var bon="";
  12. var nbclick=0;
  13. var StrTab="";  // variable contenant les dispositions html du taquin  
  14. var c=0; //abscisses  
  15. var l=0; //ordonnées  
  16. var tmp;
  17. var nbpartie=0;
  18. var nbgagne=0;
  19.  
  20. function Affiche_Grille()
  21. {
  22.   nbpartie++;
  23.   document.form.partie.value=nbpartie;
  24.   document.form.nbrclicks.value=0;
  25.   nbclick=0;
  26.   x=document.form.taille.value-1 // coordonnées de la case vide  
  27.   y=document.form.taille.value-1
  28.   var Intc=document.form.taille.value;
  29.   var Taille=Intc*Intc;
  30.   var TabJeu=new Array(Taille);
  31.   var strDeb='1';
  32.   var intDeb;
  33.   var Strlettres='a';
  34.   for (var i=0; i < ( Taille )-1; i++)
  35.   {
  36.    if (i==0)
  37.     intDeb=strDeb.charCodeAt(0);
  38.    if ( i==9 )
  39.     intDeb=Strlettres.charCodeAt(0);
  40.     TabJeu[i]=String.fromCharCode(intDeb);
  41.     intDeb++;
  42.   }
  43.   var Nb_cases=0; // nombres de cases limites  
  44.   StrTab+="<TABLE border='2'>";
  45.   while ( l != Intc )
  46.   {
  47.    StrTab+="<TR>";
  48.    c=0;
  49.    while ( (c != Intc) && (Nb_cases < ( Taille )))
  50.    {
  51.     if ( Nb_cases == ( Taille )-1 )
  52.      StrTab+="<td id='"+x+"_"+y+"' Onclick='change_case("+l+","+c+" )'>" + ''+ "</TD>"
  53.     else
  54.     {
  55.      StrTab+="<td id='"+l+"_"+c+"' Onclick='change_case("+l+","+c+" )'>" +TabJeu[Nb_cases]+ "</TD>";
  56.      Nb_cases++;
  57.     }
  58.     c++;
  59.    }
  60.    l++;
  61.    StrTab+="</TR>";
  62.   }
  63.   StrTab+="</TABLE>";
  64.   document.getElementById("grille" ).innerHTML = StrTab;   // affectation du contenu de StrTab a l'objet DIV pour l'affichage de la grille  
  65.   StrTab = document.getElementById("grille" ).innerHTML;
  66.   bon=StrTab;
  67.   Melange_Grille();
  68. }
  69. function change_case(l,c)
  70. {
  71.   if( (l==y && c==x-1) || (l==y && c==x+1) || (l==y-1 && c==x) || (l==y+1 && c==x) )
  72.   {
  73.    tmp=document.getElementById(l+"_"+c).innerHTML;
  74.    document.getElementById(l+"_"+c).innerHTML="";
  75.    document.getElementById(y+"_"+x).innerHTML=tmp;
  76.    x=c;
  77.    y=l; 
  78.    nbclick++;
  79.    document.form.nbrclicks.value=nbclick;
  80.   }
  81.      gagne=document.getElementById("grille" ).innerHTML;
  82.   gagner();
  83.      }
  84.      
  85.      function change_case_mel(l,c)
  86. {
  87.   if( (l==y && c==x-1) || (l==y && c==x+1) || (l==y-1 && c==x) || (l==y+1 && c==x) )
  88.   {
  89.    tmp=document.getElementById(l+"_"+c).innerHTML;
  90.    document.getElementById(l+"_"+c).innerHTML="";
  91.    document.getElementById(y+"_"+x).innerHTML=tmp;
  92.    x=c;
  93.    y=l; 
  94.   }
  95.      gagne=document.getElementById("grille" ).innerHTML;
  96.      }
  97. function Melange_Grille()
  98. {
  99.   nombre=Math.floor(Math.random() * 600)+100; // nombre aleatoire entre 100 et 600  
  100.   var i=0;
  101.   while (i<nombre)
  102.   {
  103.    var randx=Math.floor( Math.random() * document.form.taille.value);
  104.    var randy=Math.floor( Math.random() * document.form.taille.value);
  105.  
  106.    change_case_mel(randx,randy);
  107.    i++;
  108.   }
  109. }
  110.  
  111.     function gagner()
  112.        {
  113.      if( gagne == StrTab )
  114.        {
  115.         nbgagne++;
  116.      alert("Félicitation, Vous avez gagné "+nbgagne+" partie(s) en "+nbclick+" click(s) sur "+nbpartie+" jouée(s)" );
  117.     }   
  118.       }
  119. </script></head>
  120. <body onload="Affiche_Grille();" bgcolor="#33FF99">
  121. <center><br>
  122.   <h1>==> Le Taquin <== </h1> <br>
  123.   <div id="grille"></div><br><br>
  124. <form name="form">
  125.   <h4>
  126.    Taille : <select name="taille" onchange="Affiche_Grille()">
  127.     <option value="3" selected="selected"> 3 </option>
  128.     <option value="4"> 4 </option>
  129.     <option value="5"> 5 </option>
  130.     <option value="6"> 6 </option>
  131.     </select> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   
  132.    <input value="Rejouer" name="send" Onclick="Affiche_Grille();" type="button"> <br> <br>
  133.    Nombre de click(s) : <input type="text" name="nbrclicks" size="1" maxlength="3" ><br><br>
  134.    Nombre de partie(s) : <input type="text" name="partie" size="1" maxlength="3" > 
  135.   </h4>
  136.  
  137. </form>
  138. </center>
  139. </body>
  140. </html>

 
 
voila donc quelqu'un peut-il m'aider ?


Message édité par hacksi le 22-04-2005 à 21:40:26
Reply

Marsh Posté le 22-04-2005 à 19:47:36   

Reply

Marsh Posté le 22-04-2005 à 19:57:37    

balises [code] stp :o


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 22-04-2005 à 20:06:48    

c'est à dire ?

Reply

Marsh Posté le 22-04-2005 à 20:48:56    

C'est à dire que ton code javascript tu le mets entre

Code :
  1. ton javascript

. Il y a des balises, autant s'en servir.


---------------
http://yoyo.eurotchat.net -> Wednesday 14 September a 02:00:01 up 43 days, 11:47,  2 users,  load average: 0.07, 0.03, 0.00
Reply

Marsh Posté le 22-04-2005 à 21:40:44    

dsl je ne savais pas.

Reply

Marsh Posté le 23-04-2005 à 15:23:01    

personne ne peut m'aider ?

Reply

Marsh Posté le 23-04-2005 à 15:50:23    

c'est quoi le "probleme" ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 15:51:29    

la grille ne se met pas a jour quand je change la taille de la grille.

Reply

Marsh Posté le 23-04-2005 à 16:22:18    

c'est bon j'ai trouvé le problème.

Reply

Marsh Posté le 23-04-2005 à 16:33:35    

c'etait quoi ?


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 23-04-2005 à 16:33:35   

Reply

Marsh Posté le 23-04-2005 à 17:23:22    

probleme dans les coordonnées

Reply

Marsh Posté le 23-04-2005 à 20:52:28    

c'est quoi le jeu du taquin ?


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 23-04-2005 à 20:53:10    

ah c'est le 14-15


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed