Javascript 如何结合Tic Tac Toe功能“;“选择功能”;在一个函数中选择单元格而不是隐藏?

Javascript 如何结合Tic Tac Toe功能“;“选择功能”;在一个函数中选择单元格而不是隐藏?,javascript,html-table,tic-tac-toe,Javascript,Html Table,Tic Tac Toe,我是JavaScript领域的新手,我希望您能在基本的编码方面帮助我 如何仅在一个功能中进行Tic Tac Toe(X和O选项)? 我还想选择单元格而不是隐藏按钮 我试过主要功能: if (document.getElementById("cell1").checked = true) if (document.getElementById("cell1").onclick= click) nextTurn = nextTurn === 'X' ? 'O' : 'X'; 但是

我是JavaScript领域的新手,我希望您能在基本的编码方面帮助我

如何仅在一个功能中进行Tic Tac Toe(X和O选项)? 我还想选择单元格而不是隐藏按钮

我试过主要功能:

    if (document.getElementById("cell1").checked = true)
    if (document.getElementById("cell1").onclick= click)
nextTurn = nextTurn === 'X' ? 'O' : 'X';
但是没有起作用

这就是我试图用的功能

  var nextTurn = 'X'
  function chose1() {
    if (document.getElementById("Hidden1").checked = true) {
        if (document.getElementById('cell1').innerText == "") {
            document.getElementById('cell1').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden2").checked = true) {
        if (document.getElementById('cell2').innerText == "") {
            document.getElementById('cell2').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden3").checked = true) {
        if (document.getElementById('cell3').innerText == "") {
            document.getElementById('cell3').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden4").checked = true) {
        if (document.getElementById('cell4').innerText == "") {
            document.getElementById('cell4').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden5").checked = true) {
        if (document.getElementById('cell5').innerText == "") {
            document.getElementById('cell5').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden6").checked = true) {
        if (document.getElementById('cell6').innerText == "") {
            document.getElementById('cell6').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden7").checked = true) {
        if (document.getElementById('cell7').innerText == "") {
            document.getElementById('cell7').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden8").checked = true) {
        if (document.getElementById('cell8').innerText == "") {
            document.getElementById('cell8').innerText = nextTurn;
            changeTurn();
        }
    }


    else if (document.getElementById("Hidden9").checked = true) {
        if (document.getElementById('cell9').innerText == "") {
            document.getElementById('cell9').innerText = nextTurn;
            changeTurn();
        }
    }
 }

 function changeTurn() {
    if (nextTurn == 'X') {
        nextTurn = 'O';
    } else {
        nextTurn = 'X';
    }
 }
这些是我用来调用函数的表

 <table border="10" cellpadding="40">
 <tbody>
    <tr>
        <td id="cell1" onclick="chose1()">
        </td>
            <input id="Hidden1" type="hidden" />
        <td id="cell2" onclick="chose2()">
            <input id="Hidden2" type="hidden" />
        </td>
        <td id="cell3" onclick="chose3()">
            <input id="Hidden3" type="hidden" />
        </td>
    </tr>
    <tr>
        <td id="cell4" onclick="chose4()">
            <input id="Hidden4" type="hidden" />
        </td>
        <td id="cell5" onclick="chose5()">
            <input id="Hidden5" type="hidden" />
        </td>
        <td id="cell6" onclick="chose6()">
            <input id="Hidden6" type="hidden" />
        </td>
    </tr>
    <tr>
        <td id="cell7" onclick="chose7()">
            <input id="Hidden7" type="hidden" />
        </td>
        <td id="cell8" onclick="chose8()">
            <input id="Hidden8" type="hidden" />
        </td>
        <td id="cell9" onclick="chose9()">
            <input id="Hidden9" type="hidden" />
        </td>
    </tr>
  </tbody>
  </table>
总之,我正在努力实现以下目标:

  • 我希望单击整个单元格,而不是隐藏按钮
  • 在if和else if函数中,
    chose1()
    不起作用,因此它为新单击的单元格提供X或O
  • 我正在尝试构造函数
    winningcombines()
    ,以便它与我最基本的编码押韵
    非常感谢您的帮助。

    首先,您的功能是如此重复。也许我们可以解决它:

    function chose1() {
      for (var i=1; i<10; i++) {
        if (document.getElementById("Hidden" + i).checked = true) { // whoops
          var cell = document.getElementById('cell' + i);
          if (cell.innerText == "") {
            cell.innerText = nextTurn;
            changeTurn();
          }
          break;
        }
      }
    }
    

    其次,tic-tac-toe中有8种获胜组合,我想你忘记了其中的一些组合。

    好的,这里有一些提示,而不是完整的答案。在提问方面,尽量简明扼要地说明你想要达到的目标,尽管你的大部分问题都是例子,你也没有说太多,但你想要达到的目标并不清楚。这会让你得到更多的回应。在您的编码方面,您需要重新审视您需要总结的内容,因为对每个单元格使用新函数不是很有效,您需要使它们更通用,以便可以重复使用。感谢您的及时回复,我将两种组合作为示例。
    nextTurn = nextTurn === 'X' ? 'O' : 'X';