为了账号安全,请及时绑定邮箱和手机立即绑定

代码一样的,但是并没有随机生成两个数字啊?求大神

showanimation.js

function showNumberWithAnimation(i, j, randNumber) {


    var numberCell = $('#number-cell-' + i + "-" + j);


    numberCell.css('background-color', getNumberBackgroundColor(randNumber));

    numberCell.css('color', getNumberColor(randNumber));

    numberCell.text(randNumber);


    numberCell.animate({

        width: "100px",

        height: "100px",

        top: getPosTop(i, j),

        left: getPosLeft(i, j),

    }, 50);

}

main2048.js


var board = new Array();

var score = 0;


$(document).ready(function () {

    newgame();

});


function newgame() {

    //初始化棋盘格

    init();

    //在随机两个格子生成数字

    generateOneNumber();

}


function init() {

    for (var i = 0; i < 4; i++)

        for (var j = 0; j < 4; j++) {


            var gridCell = $('#grid-cell-' + i + "-" + j);

            gridCell.css('top', getPosTop(i, j));

            gridCell.css('left', getPosLeft(i, j));

        }


}


for (var i = 0; i < 4; i++) {

    board[i] = new Array();

    for (var j = 0; j < 4; j++) {

        board[i][j] = 0;

    }


    updateBoardView();

}


function updateBoardView() {

    $(".number-cell").remove();

    for (var i = 0; i < 4; i++)

        for (var j = 0; j < 4; j++) {

            $("#grid-container").append('<div class="number-cell" id ="number-cell-' + i + '-' + j + '"></div>')

            var theNumberCell = $('#number-cell-' + i + '-' + j);

                        if (board[i][j] == 0) {

                            theNumberCell.css('width', '0px');

                            theNumberCell.css('height', '0px');

                            theNumberCell.css('top', getPosTop(i, j) + 50);

                            theNumberCell.css('left', getPosLeft(i, j) + 50);

                        }

                        else {

                            theNumberCell.css('width', '100px');

                            theNumberCell.css('height', '100px');

                            theNumberCell.css('top', getPosTop(i, j));

                            theNumberCell.css('left', getPosLeft(i, j));

                            theNumberCell.css('background-color', getNumberBackgroundColor(board[i][j]));

                            theNumberCell.css('color', getNumberColor(board[i][j]));

                            theNumberCell.text(board[i][j]);


                        }

                    }

            }


            function generateOneNumber() {

                if (nospace(board))

                    return false;


                // 随机一个位置

                var randx = parseInt(Math.floor(Math.random() * 4));

                var randy = parseInt(Math.floor(Math.random() * 4));

                while (true) {

                    if (board[randx][randy] == 0)

                        break;


                    randx = parseInt(Math.floor(Math.random() * 4));

                    randy = parseInt(Math.floor(Math.random() * 4));




                }

                // 随机一个数字

                var randNumber = Math.random() < 0.5 ? 2 : 4;


                // 在随机位置显示随机数字

                board[randx][randy] = randNumber;

                showNumberWithAnimation(randx, randy, randNumber);

                return true;

            }



support2048.js

function getPosTop(i, j) {

    return 20 + i * 120;

}


function getPosLeft(i, j) {

    return 20 + j * 120;

}


function getNumberBackgroundColor(number) {

    switch (number) {

        case 2: return "#eee4da"; break;

        case 4: return "#ede0c8"; break;

        case 8: return "#f2b179"; break;

        case 16: return "#f59563"; break;

        case 32: return "#f67e5f"; break;

        case 64: return "#f65e3b"; break;

        case 128: return "#edcf72"; break;

        case 256: return "#edcc61"; break;

        case 512: return "#9c0"; break;

        case 1024: return "#33b5e5"; break;

        case 2048: return "#09c"; break;

        case 4096: return "#a6c"; break;

        case 8192: return "#93c"; break;

    }

    return "black"

}


function getNumberColor(number) {

    if (number <= 4)

        return "#776e65";


    return "white";

}


function nospace(board) {

    for (var i = 0; i < 4; i++)

        for (var j = 0; j < 4; j++)

            if (board[i][j] == 0)

                return false;


    return true;

}






正在回答

2 回答

showanimation里面的left: getPosLeft(i, j)应当没有逗号

0 回复 有任何疑惑可以回复我~

获取元素哪里不对

0 回复 有任何疑惑可以回复我~
#1

qq_慕运维7053616

动画的js文件里
2019-11-26 回复 有任何疑惑可以回复我~
#2

慕慕0006434 回复 qq_慕运维7053616

这个逗号不影响的啊
2020-05-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

代码一样的,但是并没有随机生成两个数字啊?求大神

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信