7.1
来源:互联网 发布:虎牙直播app下载mac版 编辑:程序博客网 时间:2024/05/23 01:02
三消游戏
因为三消比较难,考虑还是讲一下消除的算法,然后再扩展到三消
在昨日点击的基础上,开始讲解消除
消除就是点击一个块儿,如果该块儿周围同颜色的块儿数量大于3,则这些块儿一起消除
1.思考如何获取点击块儿周围的块儿的颜色
a.由该块儿下标和检查数组[[-1,0],[1,0],[0,-1],[0,1]]进行周围检查
b.检查是否越界
c.检查颜色是否相同
2.修改上面的函数,将其改为接受一个二维下标,传回的是该下标周围颜色相同的下标的数组
3.拼接2个数组,删除掉其中相同的元素
filterDelSame:function(arr1,arr2){
var returnArr = arr1.concat(arr2)
for(var i = 0 ;i<returnArr.length;i++){
var nowPo = returnArr[i]
for(var j = i+1 ;j<returnArr.length;j++){
if(cc.pSameAs(returnArr[j],nowPo)){
returnArr.splice(j,1)
j-- // 上面删除了一个元素,下标需要减一
}
}
}
return returnArr
},
因为三消比较难,考虑还是讲一下消除的算法,然后再扩展到三消
在昨日点击的基础上,开始讲解消除
消除就是点击一个块儿,如果该块儿周围同颜色的块儿数量大于3,则这些块儿一起消除
1.思考如何获取点击块儿周围的块儿的颜色
a.由该块儿下标和检查数组[[-1,0],[1,0],[0,-1],[0,1]]进行周围检查
b.检查是否越界
c.检查颜色是否相同
2.修改上面的函数,将其改为接受一个二维下标,传回的是该下标周围颜色相同的下标的数组
3.拼接2个数组,删除掉其中相同的元素
filterDelSame:function(arr1,arr2){
var returnArr = arr1.concat(arr2)
for(var i = 0 ;i<returnArr.length;i++){
var nowPo = returnArr[i]
for(var j = i+1 ;j<returnArr.length;j++){
if(cc.pSameAs(returnArr[j],nowPo)){
returnArr.splice(j,1)
j-- // 上面删除了一个元素,下标需要减一
}
}
}
return returnArr
},
0 0
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- 7.1
- Android中数据存储方式
- IOS人脸识别
- 配置并检验 S1 上的安全功能
- 聊聊同步、异步、阻塞与非阻塞
- 循环上传图片
- 7.1
- DHCP配置
- 嵌入式QT软键盘
- Retrofit2.0详解
- [Cloud Computing]Mechanisms: Attribute-Based Access Control System
- How to: Create and Initialize Trace Listeners
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- 什么时候该用成员变量、什么时候用方法变量?
- Swift3中方法可变参数语法的一些改变