<script type="text/javascript"> <!-- function mazeru(){ tate=3; yoko=3; max=tate*yoko; i=0; for(i=0;i<200;i++){ for(n=0;n<max;n++){ if(document.ninepzl.btn(n).value==" "){ rnd=Math.floor(Math.random() * 4); switch(rnd){ case 0: push=n-yoko; break; case 1: push=n+yoko; break; case 2: push=n+1; break; case 3: push=n-1; break; } if(push<max && push>=0) idou(push, 1); } } } document.ninepzl.txt.value=0; } function idou(num, isMazeru){ yoko=3; tate=3; max=tate*yoko; count=document.ninepzl.txt.value-0; tp=num-yoko; if(tp<0) tp=max; bt=num+yoko; if(bt>max) bt=max; lf=num-1; if((num+1)%yoko==1) lf=max; rg=num+1; if((num+1)%yoko==0) rg=max; if(tp<max){ if(document.ninepzl.btn(tp).value==" "){ document.ninepzl.btn(tp).value =document.ninepzl.btn(num).value; document.ninepzl.btn(num).value=" "; } } if(bt<max){ if(document.ninepzl.btn(bt).value==" "){ document.ninepzl.btn(bt).value =document.ninepzl.btn(num).value; document.ninepzl.btn(num).value=" "; } } if(lf<max){ if(document.ninepzl.btn(lf).value==" "){ document.ninepzl.btn(lf).value =document.ninepzl.btn(num).value; document.ninepzl.btn(num).value=" "; } } if(rg<max){ if(document.ninepzl.btn(rg).value==" "){ document.ninepzl.btn(rg).value =document.ninepzl.btn(num).value; document.ninepzl.btn(num).value=" "; } } count++; document.ninepzl.txt.value=count; if(isMazeru!=0) hantei(count); } function hantei(count){ if(document.ninepzl.btn(0).value==" 1 " && document.ninepzl.btn(1).value==" 2 " && document.ninepzl.btn(2).value==" 3 " && document.ninepzl.btn(3).value==" 4 " && document.ninepzl.btn(4).value==" 5 " && document.ninepzl.btn(5).value==" 6 " && document.ninepzl.btn(6).value==" 7 " && document.ninepzl.btn(7).value==" 8 "){ alert("おめでとう!\n 終了 "+count+"手"); } } //--> </script> |
<form name="ninepzl"> <table><tr><td> <input type="button" value=" 1 " onClick="idou(0, 0)" name="btn"></td><td> <input type="button" value=" 2 " onClick="idou(1, 0)" name="btn"></td><td> <input type="button" value=" 3 " onClick="idou(2, 0)" name="btn"></td></tr><tr><td> <input type="button" value=" 4 " onClick="idou(3, 0)" name="btn"></td><td> <input type="button" value=" 5 " onClick="idou(4, 0)" name="btn"></td><td> <input type="button" value=" 6 " onClick="idou(5, 0)" name="btn"></td></tr><tr><td> <input type="button" value=" 7 " onClick="idou(6, 0)" name="btn"></td><td> <input type="button" value=" 8 " onClick="idou(7, 0)" name="btn"></td><td> <input type="button" value=" " onClick="idou(8, 0)" name="btn"> </td></tr></table> <br><input type="text" name="txt" readonly> <input type="button" value="シャッフル" onClick="mazeru()"> </form> |