连连看算法一点通
来源:互联网 发布:张峰 java精品课程 编辑:程序博客网 时间:2024/05/18 02:12
1、两个精灵都在同一横轴或是纵轴
2、另外就是有一个转角的,两种情况箭头向左或向右
3、最复杂,其实掌握下面的情况可以包含上面的所有的情况(重点分析)
3.1)在纵轴方向有一个共同的没有精灵(障碍)的块(黄色),判断公共i_col到精灵箭头段有没有精灵即可
/**
* 判断当前列m_col没有障碍
* @param first_row 行坐标小的精灵
* @param second_row 行坐标大的精灵
* @param m_col
* @return
*/
public boolean isShu(int first_row, int second_row, int m_col)
{
int firstid = (first_row < second_row? first_row:second_row);
int secondid = (first_row > second_row? first_row:second_row);
for(int i = firstid; i <= secondid; i++)
{
if(mapData[i][m_col] != -1)
{
return false;
}
}
return true;
}
3.2)在横轴方向有一个共同的乜有精灵(障碍)的块(黄色),然后判断i_row箭头这段有没有障碍即可
/**
* 判断当前行m_row没有障碍
* @param first_col 纵坐标小的精灵
* @param second_col 纵坐标大的精灵
* @param m_row 当前这一行
* @return 没有障碍表示true
*/
public boolean isHeng(int first_col, int second_col, int m_row)//表示第一个精灵为起点到第二个精灵,所有行中上没有精灵
{
int firstid = (first_col < second_col? first_col:second_col);//跟点击的前后没关系
int secondid = (first_col > second_col? first_col:second_col);
for(int i = firstid; i < secondid; i++)
{
if(mapData[m_row][i] != -1) //表示中间有障碍物
{
return false;
}
}
return true;
}
- 连连看算法一点通
- "连连看"算法笔记
- 连连看算法
- 《连连看》的算法!
- 连连看消除算法
- 连连看算法
- 关于连连看算法
- 连连看核心算法
- 连连看算法
- 连连看算法
- 连连看算法
- 连连看算法笔记
- 连连看算法
- 连连看 连线算法
- 连连看算法分析
- 连连看算法分析
- 连连看算法
- 连连看算法
- ESI是什么
- USB枚举过程
- Linux下抓包工具tcpdump应用详解
- 通过php修改系统时间
- 日期转周 hive UDF
- 连连看算法一点通
- java学习之路----什么是java的弱引用
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- fuse整理
- poj 2891 Strange Way to Express Integers(解一般模线性方程组)
- 语音技术研究工作者
- Cloudera Search: 轻松实现Hadoop全文检索
- A Data-Driven Game Object System
- VC异常处理 finally(5)