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

已全部看完,也做出了自己的2048!这里有个小细节,当点击New Game时分数并没有立即重置,只有当用户进行第二局游戏时分数才会变动! 学了挺多东西的,拜谢!希望老师能再做出几个关于3D的视频!

正在回答

3 回答

很简单在 初始化函数后面加一个更新分数的功能就行

源代码如下:

function init(){

    //初始化棋盘格,先获取每个小格子的位置

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

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


            // 获取每个小格子的id值

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


            // 通过函数来设定每个小格子的顶部与左边与大棋盘格的顶部与左边的距离

            gridCell.css("top",getPosTop(i,j));//每个小格子顶部与大棋盘格的顶部的距离

            gridCell.css("left",getPosLeft(i,j));//每个小格子左边与大棋盘格的左边的距离


        }

    }



    //以下为2.1新增内容


    //创建一个二维数组

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


        board[i] = new Array();

        //4.3更新内容

        hasConflicted[i] = new Array();//二维数组


        //将每个数组的值都初始化,都设置为0

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

            board[i][j] = 0;

            //4.3更新内容

            hasConflicted[i][j] = false;

        }

    }


    //当数组里的值发生变化时,通知前端,并让前端内容发生变化


    updateBoardView();

    //4.2新增

    score = 0;

    showScore(score);

    

}


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

在init()里 score = 0 后添加 updateScore(score)重置分数

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

谢谢提醒。可能一些细节考虑不周,抱歉。我也在和慕课网商讨筹划更多关于Canvas;WebGL,动画甚至是VR等相关表现力更强的课程,敬请期待:)

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

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信