gpt4 book ai didi

javascript - XO 游戏无法正常运行

转载 作者:行者123 更新时间:2023-11-30 17:18:23 24 4
gpt4 key购买 nike

这是JS代码:

    <script language="javascript" type="text/javascript">
var step = 1;
var e;
function move(a){
if (step % 2 == 0)
e = "O";
else
e = "X";
document.getElementById(a).innerHTML = e;
step++;
alert(document.getElementById(a).value);
}
</script>

和 HTML:

        <table border="1" align="center">
<tr>
<th colspan="3">X O Game</th>
</tr>
<tr align="center">
<td id="td1" height="50" width="50" onclick="move('td1');"></td>
<td id="td2" height="50" width="50" onclick="move('td2');"></td>
<td id="td3" height="50" width="50" onclick="move('td3');"></td>
</tr>
<tr align="center">
<td id="td4" height="50" width="50" onclick="move('td4');"></td>
<td id="td5" height="50" width="50" onclick="move('td5');"></td>
<td id="td6" height="50" width="50" onclick="move('td6');"></td>
</tr>
<tr align="center">
<td id="td7" height="50" width="50" onclick="move('td7');"></td>
<td id="td8" height="50" width="50" onclick="move('td8');"></td>
<td id="td9" height="50" width="50" onclick="move('td9');"></td>
</tr>
</table>

似乎 td 未定义,这是为什么?.. 任何人都可以帮助我吗?如果你按下使用过的 td,它会骑它。

最佳答案

您不能在 TD 上使用 .value。使用 innerHTML。在将其设置为新值之前检查它是否为空。例如:

   function move(a) {
var elem = document.getElementById(a);
if (!a.innerHTML) {
if (step % 2 == 0) e = "O";
else e = "X";

elem.innerHTML = e;
step++;
}
}

参见:http://jsfiddle.net/wo2t5Lrn/

现在,如果您单击已使用的单元格,它将忽略它。例如,如果您想要显示错误消息而不是使用忽略用户,则可以添加 else 子句。

我假设您的下一步是找出谁赢了。检查一下:2 in a row c# program game虽然是C#(不过反正我只用伪代码回答),原理是一样的。您只需要检查当前移动是否属于获胜状态的一部分,方法是检查它是否属于三行的一部分。

编辑:只是为了好玩,我决定尝试让这个东西真正起作用:

http://jsfiddle.net/wo2t5Lrn/4/

关于javascript - XO 游戏无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25653343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com