首页
社区
课程
招聘
[原创]含沙量高的->连连看v3.0 游戏修改器
发表于: 2007-6-18 10:04 14706

[原创]含沙量高的->连连看v3.0 游戏修改器

2007-6-18 10:04
14706
收藏
免费 7
支持
分享
最新回复 (19)
雪    币: 112
活跃值: (48)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
正好我老爸烦死了要我写一个破解工具,谢谢LZ!!
2007-6-18 10:19
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
3
你也玩这游戏的么?
2007-6-18 10:20
0
雪    币: 250
活跃值: (103)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
顶一个!这个游戏我玩过。
2007-6-18 13:06
0
雪    币: 209
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
非常好,支持一个!
2007-6-18 14:35
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
6
真精彩。。。。。。。。
2007-6-18 14:39
0
雪    币: 222
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
支持下,写的比较详细
2007-6-18 20:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了,谢谢!
2007-6-18 20:54
0
雪    币: 1969
活跃值: (46)
能力值: (RANK:550 )
在线值:
发帖
回帖
粉丝
9
不错,真厉害
2007-6-18 21:39
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
10
好文,学习中~~~~~~
2007-6-19 00:05
0
雪    币: 3230
活跃值: (2919)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不记得当初是不是断提示框了。。。。。修改一下。。。随便点几下就全通关了。。嘿嘿。。。那是瞎搞。。。楼主纯粹技术性分析。。。。
2007-6-19 10:22
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
那个游戏确实不错。。。
2007-6-19 10:29
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
13
音乐听起来很舒服`
2007-6-19 11:57
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
14
看看  学习
2007-6-19 11:58
0
雪    币: 427
活跃值: (412)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
去写QQ外挂还能赚点钱。
2007-6-19 16:07
0
雪    币: 229
活跃值: (65)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
16
function TSearch.CanConnect(pt1, pt2: TPoint): Boolean;
begin //判断是否可以连接(共3种情况)
  Result := CanLine(pt1, pt2) or CanLineOneCorner(pt1, pt2) or CanLineTwoCorner(pt1, pt2);
end;

function TSearch.CanLine(pt1, pt2: TPoint): Boolean;
var   //测试2点是否可以直接连接(中间无障碍)
  i: Integer;
  pt: TPoint;
begin
  Result := False;
  if pt1.X = pt2.X then
  begin
    if pt1.Y > pt2.Y then
    begin
      pt.Y := pt1.Y;
      pt1.Y := pt2.Y;
      pt2.Y := pt.Y;
    end;
    for i := pt1.Y +1 to pt2.Y -1 do
    begin
      if Maps[pt1.X,i] <> -1 then
        exit;
    end;
    Result := True;
    exit;
  end;
  if pt1.Y = pt2.Y then
  begin
    if pt1.X > pt2.X then
    begin
      pt.X := pt1.X;
      pt1.X := pt2.X;
      pt2.X := pt.X;
    end;
    for i := pt1.X +1 to pt2.X -1 do
    begin
      if Maps[i,pt2.Y] <> -1 then
        exit;
    end;
    Result := True;
    exit;
  end;
end;

function TSearch.CanLineOneCorner(pt1, pt2: TPoint): Boolean;
var   //判断2点是否由2条直线连接(一个拐点)
  pt: TPoint;
begin
  Result := False;
  pt.X := pt1.X;
  pt.Y := pt2.Y;  //拐点坐标(左下拐点)
  if (Maps[pt.X, pt.Y] = -1) and CanLine(pt,pt1) and CanLine(pt,pt2) then
  begin //
    Result := True;
    exit;
  end;
  pt.X := pt2.X;
  pt.Y := pt1.Y;  //拐点坐标(右上拐点)
  if (Maps[pt.X, pt.Y] = -1) and CanLine(pt,pt1) and CanLine(pt,pt2) then
  begin
    Result := True;
    exit;
  end;
end;

function TSearch.CanLineTwoCorner(pt1, pt2: TPoint): Boolean;
var    //判断2点是否由3条直线连接(2个拐点)
  pt: TPoint;
  i: Integer;
begin
  Result := False;
  pt.X := pt1.X;
  for i := 0 to iVCount - 1 do
  begin   //由第1个点开始向下寻找
    pt.Y := i;
    if (Maps[pt.X, pt.Y] = -1) and CanLine(pt,pt1) and CanLineOneCorner(pt,pt2) then
    begin  //如果临时点可以经过1条或者2条直线连接就TRUE
      Result := True;
      exit;
    end;
  end;
  pt.Y := pt1.Y;
  for i := 0 to iHCount - 1 do
  begin   //由第1个点开始向右寻找
    pt.X := i;
    if (Maps[pt.X, pt.Y] = -1) and CanLine(pt,pt1) and CanLineOneCorner(pt,pt2) then
    begin  //如果临时点可以经过1条或者2条直线连接就TRUE
      Result := True;
      exit;
    end;
  end;
end;

这个东西以前我好像业分析过不过分析的数据是没有了!这个是我写的东西的核心代码部分!如果有了内存地图或者是屏幕上的地图数据然后模拟左键点击,你说连连看会怎么工作啊!!!
2007-6-19 19:29
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
17
``顶楼上的!
虽然delphi代码我看不太懂~

不过饿系知道你的思路滴!
获取两图片的位置当然有多种方法`呵呵`
前提路径可通!
帮顶`
2007-6-20 08:48
0
雪    币: 215
活跃值: (85)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
18
历害呀,支持,有水平~
2007-7-2 18:02
0
雪    币: 461
活跃值: (93)
能力值: ( LV9,RANK:1170 )
在线值:
发帖
回帖
粉丝
19
好厉害,向牛人学习.
2007-7-3 08:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
2007-7-3 22:18
0
游客
登录 | 注册 方可回帖
返回
//