js+css3实现2048小游戏

来源:互联网 发布:反智主义 知乎 编辑:程序博客网 时间:2024/06/05 00:53

最近2048比较火,网上也出现了网页版的游戏,我也来凑个热闹。解决的方法有很多,但主要都是集中在如何移动,怎么合并以及效果添加。

下面是我的核心函数:

function mergeToLow(arr){  flag = 0;  for(var i=1; i<arr.length; i++){    for(var j = flag; j < i;){       if( arr[i] != arr[j] ){         if( arr[i] != 0 && arr[j] == 0){//后面的数不为0,前面的数为0           tmp = arr[j];   arr[j] = arr[i];   arr[i] = tmp;   j = j + 1; }if( arr[i] != 0 && arr[j] != 0){//当移动、或者增加后flag需要向后移一位            j = flag = flag + 1;         }else{    j  = j+1; }       }else{        if( arr[j] != 0){//当两个数相等且不为零时合并            arr[j] = arr[j] << 1;            arr[i]   = 0;            j = flag = flag + 1;        }else{         break;        }       }   }  }  console.log(arr);}
上面是向数组头部合并,即:

输入:[2,2,0,2]

输出:[4,2,0,0]

本来想放到dabblet,但是缺少文件,所以放到百度网盘上, 其中一定会有bug,希望大家帮我找一下。

0 0
原创粉丝点击