连连看的消除算法
一、连连看常规消除规则
图 A 中出现在同一直线上无障碍的圈圈可以消除;图 B 中两个圈圈可以通过一次转弯消除;图 C 和图 D 中,两个圈圈可以通过两次转弯消除。
1、写好一个方法,用于判断当前位置是什么物体
2、水平检测 - 判断两个点的纵坐标是否相等,同时判断两点间有没有障碍物
3、垂直检测 - 判断两个点的横坐标是否相等,同时判断两点间有没有障碍物
4、一个拐角检测 - 一个拐角检测可以分解成一个水平检测一个垂直检测
如:A点到B点能否连接可以转化为满足以下任意一项:
1、A 点至 C 点的垂直检测,以及 C 点至 B 点的水平检测。
2、A 点至 D 点的水平检测,以及 D 点至 B 点的垂直检测。
5、两个拐角检测 - 两个拐角检测可分为成一个拐角检测和水平检测或垂直检测
如:水平、垂直分别穿过 A B 共有四条直线,扫描直线上所有不包含 A B 的点,看是否存在一点 C ,满足以下任意一项:
A 点至 C 点通过水平或垂直检测,C 点至 B 点可通过一个拐角连接。(图中用 C 表示)
A 点至 C 点可通过一个拐角连接,C 点至 B 点通过水平或垂直连接。(图中用 C 下划线表示)
5、整合
6、试玩
微信搜索 “连连看经典版”