jQuery:2048总结

    xiaoxiao2022-07-03  155

    如何快速完成2048这样简单又好玩的网页小游戏

    基本框架:

    页面 可自由设置,一点点html,css基础便可。 我的示例图:

    是这个样子的,背景淡蓝,清新海洋的味道~(2333333

    单元格 分层

    底层:固定,作为背景/容器,样式自由设置,用Css搞定。 上层:数字层,后面用到的都是jQuery,使数字层能响应各种操作,例如上下左右移动、数字叠加、已叠加的判断、视图的更新等等。

    四个方向的移动

    第一步需要判断空位,第二步移动和叠加,第三步分数的统计。 以向左为例:

    function moveLeft() { for(var i=0;i<4;i++){ for(var j=0;j<4;j++){ if(nums[i][j]!==0){ for(var k=0;k<j;k++){ if(nums[i][k]===0&&noBlockH(i,k,j,nums)){//第i行的第k-j列之间是否有障碍物 //移动操作 showNumKeyMove(i,j,i,k); nums[i][k]=nums[i][j]; nums[i][j]=0; break; } else if(nums[i][k]===nums[i][j] && noBlockH(i,k,j,nums) && !hasConflicted[i][k]){ showNumKeyMove(i,j,i,k); nums[i][k]+=nums[i][j]; nums[i][j]=0; //统计分数 score+=nums[i][k]; updateScore(score); hasConflicted[i][k]=true;//已经叠加 break; } } } } }

    适应移动端

    用到了touchstart,touchend,还比较好做。 要注意的是要避免小范围的滑动也能使页面响应,需要判断滑动的距离,设定最小距离能响应的距离就行了。

    -----------------------------------------END---------------------------------------------

    最新回复(0)