var winning = [
[0, 1, 2],
[3, 4, 5],
[6, 7, 8],
[0, 3, 6],
[1, 4, 7],
[2, 5, 8],
[0, 4, 8],
[2, 4, 6]
];
//this are all the possible ways to win
function checkwin (box) {
for (var i = 0; i < winning.length; i++) {
if (document.getElementById(box + winning[i][0]).innerHTML && document.getElementById(box + winning[i][1]).innerHTML && document.getElementById(box + winning[i][2]).innerHTML);{
alert(innerHTML + 'won')
}
}
}
我试图在每个方框中循环以检查获胜者
我使用for循环来创建框,并且必须使用box.id = 'box' + i
给每个框一个id作为数字。
答案 0 :(得分:0)
如果检查错了,您只是检查它们是否真实。你没有检查他们是否平等。
另一个错误:代码中有一个随机分号。 另一个错误:你从未定义过innerHTML。
if (document.getElementById(box + winning[i][0]).innerHTML &&
document.getElementById(box + winning[i][1]).innerHTML &&
document.getElementById(box + winning[i][2]).innerHTML);{
^---BUG
我假设您要检查它们是否相等
var cell1 = document.getElementById(box + winning[i][0]).innerHTML;
var cell2 = document.getElementById(box + winning[i][1]).innerHTML;
var cell3 = document.getElementById(box + winning[i][2]).innerHTML;
if (cell1===cell2 && cell1===cell3) {
alert(cell1);
break;
}
答案 1 :(得分:0)
变化:
if (document.getElementById(box + winning[i][0]).innerHTML &&
document.getElementById(box + winning[i][1]).innerHTML &&
document.getElementById(box + winning[i][2]).innerHTML);{
为:
if (document.getElementById(box + winning[i][0]).innerHTML == document.getElementById(box + winning[i][1]).innerHTML &&
document.getElementById(box + winning[i][1]).innerHTML == document.getElementById(box + winning[i][2]).innerHTML){