Javascript 如何结合Tic Tac Toe功能“;“选择功能”;在一个函数中选择单元格而不是隐藏?
我是JavaScript领域的新手,我希望您能在基本的编码方面帮助我 如何仅在一个功能中进行Tic Tac Toe(X和O选项)? 我还想选择单元格而不是隐藏按钮 我试过主要功能: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'; 但是
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>
总之,我正在努力实现以下目标:
chose1()
不起作用,因此它为新单击的单元格提供X或Owinningcombines()
,以便它与我最基本的编码押韵李>
非常感谢您的帮助。首先,您的功能是如此重复。也许我们可以解决它:
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';