以下のプログラムで奇数回目(○)か偶数回目(×)が縦、横、斜めのいずれかで三個一列で並んだ時点でアラート文「n(並んだ方の記号)の勝ち!」と表示し、OKボタンを押すと初期状態に戻るようにしたいです。
どのように並んだことを判定させればよいのでしょう?
またどちらも一列に並ばなかった場合も別のアラート文を表示しOKボタンを押すと初期状態になるようにしたいです。
<script> try{ document.addEventListener ('click',function(e){myfunc(e)},true); }catch(e){ document.attachEvent('onclick',function(e){myfunc(e)}); } var cnt=0; function myfunc(e){ var t = (e.srcElement || e.target); if(t.nodeName=="INPUT" && t.type=="button"){ if(t.value==""){ cnt++; t.value=cnt%2==1?"○":"×"; if(cnt>=9){ alert("GAMEOVER!(OKでリセットします)"); resetFunc(t); cnt=0; } }else if( cnt > 2 ){ alert("そのマスはすでに選ばれています。"); } } if(t.nodeName=="INPUT" && t.type=="reset"){ cnt=0; resetFunc(t); } } function resetFunc(t){ var f=t.form; for(var i=0;i<f.length;i++){ if(f[i].type=="button") f[i].value=""; } } </script> </head> <form name="tick"> <table> <tr> <td><input type="button"></td> <td><input type="button"></td> <td><input type="button"></td> </tr> <tr> <td><input type="button"></td> <td><input type="button"></td> <td><input type="button"></td> </tr> <tr> <td><input type="button"></td> <td><input type="button"></td> <td><input type="button"></td> </tr> </table> <input type="reset" value="リセット"> </p> </form> </body>
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー