TC官方合作论坛

 找回密码
 立即注册
查看: 571|回复: 7
打印 上一主题 下一主题

[已解决] 请各位大师指正一下错误

[复制链接]
跳转到指定楼层
楼主
发表于 2012-10-12 02:38:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
空间 品字形

//*********绘制品字形*********
///**从起点开始,1、向上移动一个步长,2、向右移动一个步长
///**                   3、向下移动一个步长,回到起点水平线,之后再向下移动一个步长
///**                   4、向左移动一个步长,回到起点垂直线,之后再向左移动一个步长
///**                   5、向上移动一个步长3次,向右移动一个步长3次
///**                   6、向下移动一个步长4次,向左移动一个步长4次
///**                   ……
///**所以算法思路:单数先向上再向右移动;偶数先向下再向左移动    。
功能 整型 品字形扫描算法(整型 起点X,整型 起点Y,整型 鼠标特征码值)
    整型[] xy=整型[2]
    xy[0]=-1
    xy[1]=-1
    // 起点
    int startx=起点X,starty=起点Y
    int endx,endy
    endx = startx
    endy = starty
    //// 步长 这里的步长不是越大越好,建议使用5 ~ 10
    int step=5
    /////执行的次数
    int jishu = 1,mt
    mouse.mousemove(startx,starty)
    help.sleep(2)
     // 按下鼠标左键开始准备画线。具体在游戏里使用的时候,这句要去掉
    // 因为这里是要在画板里画线看执行效果才加的鼠标按下命令
    //mouse.leftdown()
    while(jishu<20)     // 这里表示一共执行20次。 具体要执行多少次。根据不同情况调整
        mt = jishu%2  // 得到当前执行的次数是奇数(单数)还是偶数(双数),并把结果保存到mt变量里
        if(mt !=0)   
            int account=1   // 单个方向上鼠标移动次数的计数器
            //// 次数为奇数时 先向上再向右
            while(true)
                // 要移动的次数
                if(jishu*step<account)
                    break
                endif
                endy = endy - 1
                 // 计算器增加1
                account = account +1
                mouse.mousemove(endx,endy)
                // 此处的延时可以根据情况是否添加。
                help.sleep(2)
                //**************************************************

// 此处可以加入判断鼠标特征码 颜色值等等是否与目标的一致,不一致的话就不管,继续执行

// 一致的话,那么就进入判断语句,执行相应的功能,之后返回 真

//**************************************************   
                int zhi =鼠标.获取特征码()
                如果(zhi==鼠标特征码值)
                    xy[0] = endx
                    xy[1] = endy
                    返回 XY
                如果结束
            endwhile
            // 换了方向之后,计算器次数重置为1
            account=1
             //  向右时:y坐标不变,x坐标变大
            while(true)
                // 要移动的次数
                if(jishu*step<account)
                    break
                endif
                endx = endx+1
                 // 计算器增加1
                account = account +1
                mouse.mousemove(endx,endy)
                // 此处的延时可以根据情况是否添加。
                help.sleep(2)
                //**************************************************

// 此处可以加入判断鼠标特征码 颜色值等等是否与目标的一致,不一致的话就不管,继续执行

// 一致的话,那么就进入判断语句,执行相应的功能,之后返回 真

//**************************************************   
                int zhi =鼠标.获取特征码()
                如果(zhi==鼠标特征码值)
                    xy[0] = endx
                    xy[1] = endy
                    返回 xy
                如果结束
            endwhile
        else  
            //// 次数为偶数时 先向下再向左
            int account=1
            //  向下时:x坐标不变,y坐标变大
            while(true)
                if(jishu*step<account)   // 要移动的次数
                    break
                endif
                endy = endy + 1
                // 计算器增加1
                account = account +1
                mouse.mousemove(endx,endy)
                // 此处的延时可以根据情况是否添加。
                help.sleep(2)
                //**************************************************

// 此处可以加入判断鼠标特征码 颜色值等等是否与目标的一致,不一致的话就不管,继续执行

// 一致的话,那么就进入判断语句,执行相应的功能,之后返回 真

//**************************************************   
                 int zhi =鼠标.获取特征码()
                如果(zhi==鼠标特征码值)
                    xy[0]=endx
                    xy[1]=endy
                    返回 xy
                如果结束
            endwhile
             // 换了方向之后,计算器次数重置为1
            account=1
             //  向左时:y坐标不变,x坐标变小
            while(true)
                if(jishu*step<account)   // 要移动的次数
                    break
                endif
                endx = endx - 1
                 // 计算器增加1
                account = account +1
                mouse.mousemove(endx,endy)
                // 此处的延时可以根据情况是否添加。
                help.sleep(2)
                //**************************************************

// 此处可以加入判断鼠标特征码 颜色值等等是否与目标的一致,不一致的话就不管,继续执行

// 一致的话,那么就进入判断语句,执行相应的功能,之后返回 真

//**************************************************   
                 int zhi =鼠标.获取特征码()
                如果(zhi==鼠标特征码值)
                    xy[0]=endx
                    xy[1]=endy
                    返回 xy
                如果结束
            endwhile
        endif
        jishu = jishu + 1
    endwhile
    返回 0
功能结束


空间结束



单运行上面代码是没有问题,但用预定语句导入时再运行提示53XY是不合法的变量名或没有定义的变量名,




#include"品字形扫描算法.t"
空间 采集

功能 逻辑型 开始_点击()
      整型 窗口句柄=窗口.鼠标所在窗口句柄()
      整型 宽,高
      窗口.设置位置(窗口句柄,0,0)
      辅助.等待(100)
      窗口.获取大小(窗口句柄,宽,高)
      整型[] 采集点xy//= 品字形.品字形扫描算法(宽/2, 高/2, 21036735)
      采集点xy=品字形.品字形扫描算法(宽/2,高/2,21036735)
如果(采集点xy[0]>0)
    超级鼠标.移动(采集点xy[0],采集点xy[1])
    辅助.等待(500)
    超级鼠标.左键双击(5)
返回 真
//函数返回语句
功能结束

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()

返回 真
//函数返回语句
功能结束

空间结束
//空间结束语句

回复

使用道具 举报

6#
发表于 2012-10-12 08:21:12 | 只看该作者
功能 逻辑型 热键0_热键()
采集.开始_点击()
   返回 真
功能结束

功能 逻辑型 热键0_失去焦点()
//这里添加你要执行的代码
热键.销毁("热键0")
热键.注册("热键0")
返回 真
功能结束
回复 支持 反对

使用道具 举报

沙发
 楼主| 发表于 2012-10-12 02:40:38 | 只看该作者
单运行品字扫描是没有问题,但用预定语句导入时再运行提示品行扫描法53行XY是不合法的变量名或没有定义的变量名,
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-10-12 03:54:59 | 只看该作者
找到原因了,是开始那没加数组标志
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-10-12 04:49:11 | 只看该作者
#include"品字形扫描算法.t"
空间 采集
整型 自动找怪
功能 逻辑型 自动找怪()
     整型 窗口句柄=窗口.鼠标所在窗口句柄()
      整型 宽,高
      窗口.设置位置(窗口句柄,0,0)
      辅助.等待(100)
      窗口.获取大小(窗口句柄,宽,高)
      整型[] 采集点xy//= 品字形,品字形扫描算法(宽/2, 高/2, 21036735)
      采集点xy=品字形.品字形扫描算法(宽/2,高/2,21036735)
如果(采集点xy[0]>0)
    鼠标.移动(采集点xy[0],采集点xy[1])
    辅助.等待(500)
    鼠标.左键双击(5)
返回 真
如果结束
功能结束
功能 逻辑型 开始_点击()
    自动找怪=线程.开启("采集.自动找怪","")

返回 真

//函数返回语句
功能结束

功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()

返回 真
//函数返回语句
功能结束

功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
   自动找怪=线程.开启("采集.自动找怪","")
返回 真
功能结束

功能 逻辑型 热键0_失去焦点()
//这里添加你要执行的代码
热键.销毁("热键0")
返回 真
功能结束

功能 逻辑型 热键1_热键()
//这里添加你要执行的代码
线程.关闭(自动找怪)
返回 真
功能结束

功能 逻辑型 热键1_失去焦点()
//这里添加你要执行的代码
热键.销毁("热键1")
返回 真
功能结束

空间结束


我是不是那热键搅 错了,我按上面那运行,那鼠标不会扫描,谁帮我找出原因我把那最佳答案给他,
回复 支持 反对

使用道具 举报

5#
发表于 2012-10-12 08:10:13 | 只看该作者
哈哈,自己发现,以后就很少出差了~恭喜下
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2012-10-12 18:43:31 | 只看该作者
还是不行呀,我设置了F9启动,我按F9鼠标不会扫
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-10-13 00:15:53 | 只看该作者
功能 逻辑型 热键0_热键()
采集.开始_点击()
   返回 真
功能结束

功能 逻辑型 热键0_失去焦点()
//这里添加你要执行的代码
热键.销毁("热键0")
热键.注册("热键0")
返回 真
功能结束......
冷月无痕 发表于 2012-10-12 8:21:12
把看上去找怪下面的代码放到热键那就行了,我也不明白为什么会是这样,但谢谢你热心回答
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-10 02:20 , Processed in 0.119998 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表