###前提・実現したいこと
javascriptでマルバツゲームを作っているのですが、ボタンを9個使って、初期値はスペースで何も表示せず、1回クリックで〇を表示させ、2回目のクリックで×が表示するようになっています。3回目にはアラートがでて、そこには置けないというメッセージを表示させています。
そこでですが、今まではボタンを9個同じものを並べていたのですが、後々の課題で9個別々に識別できるようにする必要があり変数宣言でnewArray(9)を宣言し、「i」で0~8の数字が入るようにしたのですが、どうにもうまくいきません。
###発生している問題・エラーメッセージ
2-1.html:15 Uncaught TypeError: Cannot set property 'value' of undefined
###該当のソースコード
<script language="JavaScript"> var check=0; var i = new Array(9); //初期化処理(ボタン表示の初期化) function init() { document.tick.elements[i].value = " "; } function ticktack(botan){ if (tick.elements[i].value == " ") { if (tick.elements[i].value == "○") { tick.elements[i].value = "×"; } else { tick.elements[i].value = "○"; } } else if (tick.elements[i].value == "○") { if (tick.elements[i].value == "○") { tick.elements[i].value = "×"; } else { tick.elements[i].value = "○"; } } else{ alert("そのマスはすでに選ばれています。"); } } </script>
###試したこと
初期化処理をいろいろ変えてみたり、forで回してみたのですが何時間かけても解決できなかったので質問させていただきました。
回答3件
あなたの回答
tips
プレビュー