这是关于如何在井字游戏中创建回合? 我想添加一个选项,即单击后不应覆盖框。我使用了下面的代码,并且已经通过它和在线材料几次,但似乎无法找出答案。它现在突然使所有框 X 而不是 X,然后是 O,然后是 X。不幸的是,我正在开发一个不支持 Jquery 的基于 Web 的编辑器,我也无法编辑 HTML。
var turn = "X";
function next()
{
turn = turn === "X" ? "O" : "X";
}
function play() {
if (this.innerHTML === "")
{
this.innerHTML == turn;
next();}
}
function click()
{
if (this.id == "cell1")
{
document.getElementById("cell1").innerHTML= turn;
play();
}
else if (this.id == "cell2")
{
document.getElementById("cell2").innerHTML = turn;
play();
}
else if (this.id == "cell3")
{
document.getElementById("cell3").innerHTML = turn;
play();
}
else if (this.id == "cell4")
{
document.getElementById("cell4").innerHTML = turn;
play();
}
else if (this.id == "cell5")
{
document.getElementById("cell5").innerHTML = turn;
play();
}
else if (this.id == "cell6")
{
document.getElementById("cell6").innerHTML = turn;
play();
}
else if (this.id == "cell7")
{
document.getElementById("cell7").innerHTML = turn;
play();
}
else if (this.id == "cell8")
{
document.getElementById("cell8").innerHTML = turn;
play();
}
else if (this.id == "cell9")
{
document.getElementById("cell9").innerHTML =turn;
play();
}
}
document.getElementById("cell1").onclick = click;
document.getElementById("cell2").onclick = click;
document.getElementById("cell3").onclick = click;
document.getElementById("cell4").onclick = click;
document.getElementById("cell5").onclick = click;
document.getElementById("cell6").onclick = click;
document.getElementById("cell7").onclick = click;
document.getElementById("cell8").onclick = click;
document.getElementById("cell9").onclick = click;
我知道有人告诉我不要重复代码,但我在这方面还很陌生。也许几个月的练习会让我有足够的信心——我现在发现它更清楚了。
PS:在我尝试添加停止覆盖单元格功能之前它工作正常。之前的代码是:
var nextTurn = 'X';
function changeTurn(){
if(nextTurn == 'X'){
nextTurn = 'O';
} else {
nextTurn = 'X';
}
}
对于新选项,我已将 nextTurn 更改为 turn 并将 changeTurn 更改为 next - 在较早帖子中另一位用户的帮助下。