回 帖 发 新 帖 刷新版面

主题:[原创]RE:xilaianzxsc,游戏连连看算法的实现.

[img]http://images.blogcn.com//2008/8/21/7/hgfhgf1984,20080821193847525.jpg[/img]

[img]http://images.blogcn.com//2008/8/21/7/hgfhgf1984,20080821193847739.jpg[/img]

假设我们要测试的是A(5,2)和B(3,7)之间的通路,从图中我们可以看出,通路只有3种情况,
1.    两点在直线上,这样的情况,只需要一跟线就连通。
2.    两点之间有一个拐点,这需要两个线。
3.    两点之间有两个拐点,这就需要3跟线才能连通了。
再从图中可以发现,两点之间的通路,只有两种方向的,横向和垂直方向,即虚线分割的两个区域。当两点在同一直线的时候,某个个区域就变为直线了。
而每个区域内的通路,都由1到3根线连通而成为。最多是3跟线的时候。
如图中,AC—CD—DB,
(A ,B在同一直线的时候,中间的CD就不用了,直接是A—B; )
(A ,B有一个拐点的时候,就是AC—CB,或者AD—DB)
那么我们只要考虑,A—C 是不是通路,C—D是不是通路,D—B是不是通路,
如果同时三线都通了,(上面的1线直接通和2线直接通都是3线的特例,3线就已经包含了)
那么,两点之间就通了,如果不通我们考虑AE—EF—FB的线路,依次类推。这是横向和垂直方向中
横象情况的考虑,垂直方向同理。
到现在问题就简单了,我们只需要判断两点(AC或者CD或者DB),它们是不是通的。

到目前为止完成的检测就是A到B,它们之间横向的通路(C---D)有几条。这个已经完成。
A—C,D—B的检测还没有加进去,如果加进去,那就完成横向上通路的检测。
垂直方向一样。

回复列表 (共2个回复)

沙发

纯顶.

板凳

最新的图片.
[img]http://images.blogcn.com//2008/8/27/7/hgfhgf1984,20080827190747496.jpg[/img]

待解决问题:
1.自动寻径.
2.僵局判断,及重排.
3.配对判断(简单).

谁告诉我已经上传的文件怎么修改?(删除原来的,再重新上传一个)

我来回复

您尚未登录,请登录后再回复。点此登录或注册