我正在尝试在jquery中构建一个tic tac toe游戏,但遇到了问题。我想记录每个玩家在数组中所做的每次点击的位置。当我使用console.log检查日志是否成功时,它会显示它是。但是在比赛结束后,如果我检查阵列,它的全部都填充了1或2,当它应该充满两者的组合。(1表示玩家选择,2表示玩家二人。)我以为你们可能是能够帮助我。
var playerTurn = 1;
var counter = 0;
var gamArr = [[0, 0, 0], [0, 0, 0], [0, 0, 0]];
$(document).ready(function () {
$('td').click(function () {
if (playerTurn == 1) {
if (this.classList == "player1" || this.classList == "player2") {
}
else {
$(this).toggleClass('player' + playerTurn, true);
playerTurn = 2;
counter++;
var myCol = $(this).index();
var $tr = $(this).closest('tr');
var myRow = $tr.index();
gamArr[myRow[myCol]] = 1;
}
}
else {
if (this.classList == "player1" || this.classList == "player2") {
}
else {
$(this).toggleClass('player' + playerTurn, true);
playerTurn = 1;
counter++;
var myCol = $(this).index();
var myRow = $(this).closest('tr').index();
gamArr[myRow[myCol]] = 2;
}
}
if (counter >= 9) {
}
});
});
这是jsfiddle页面: Jsfiddle
gamArr是有问题的数组。
提前谢谢你们
答案 0 :(得分:0)
您必须访问与子阵列略有不同的内容。你很亲密这是修复:
gamArr[myRow][myCol] = 1; //or 2
myRow - 子数组的索引,myCol,元素索引。
根据此更改所有日志:https://jsfiddle.net/ccpcxzL3/27/