记录数组中的内容

时间:2016-07-17 18:48:58

标签: javascript jquery

我正在尝试在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是有问题的数组。

提前谢谢你们

1 个答案:

答案 0 :(得分:0)

您必须访问与子阵列略有不同的内容。你很亲密这是修复:

gamArr[myRow][myCol] = 1; //or 2

myRow - 子数组的索引,myCol,元素索引。

根据此更改所有日志:https://jsfiddle.net/ccpcxzL3/27/