TC官方合作论坛

 找回密码
 立即注册
查看: 1318|回复: 2

[已解决] 大家看看是tc问题还是我编程问题,如果不对请指点

[复制链接]
发表于 2016-3-21 14:47:59 | 显示全部楼层 |阅读模式

马上加入TC

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

x
左侧启动和右侧启动里面有个k++,找不到图等待500循环20遍找不到图弹出消息框,可是有的时候瞎出消息框没到20便就出消息框
我的编码:

变量 txe,tye,xxx,yyy,hsx,hsy,izz,izs,az,as,k=0
功能 左侧启动()
    循环(真)
        循环(真)
            找图(481,921,546,981,"rc:1.bmp","000000",0.5,0,txe,tye)
            如果(txe>0)
                键盘按下(32)
                跳出
            否则
                键盘弹起(32)
                等待(500)
                k++
            结束

            如果(k==20)
                蜂鸣(2000,3000)
                键盘弹起(32)
                线程关闭(鼠标)
                消息框("把沙皮伟削放屁")
                键盘按键(123,1)
                线程关闭(线程右)
                线程右=0
            结束
        结束

        循环(真)
            找色(432,913,460,923,"ECFEC4",1,0,xxx,yyy)
            如果(xxx>0)
                跳出
            否则
                找图(356,900,384,934,"rc:5.bmp","000000",0.5,0,hsx,hsy)
                如果(hsx>0)
                    键盘弹起(32)
                    线程关闭(鼠标)
                    蜂鸣(500,3000)
                    消息框("金币不足")
                    键盘按键(123,1)
                    线程关闭(线程id)
                    线程id=0
                结束
            结束
        结束

        找图(352,900,401,936,"rc:100.bmp","000000",0.5,0,izz,izs)
        如果(izz>0)
            找图(555,944,634,984,"rc:900.bmp","000000",0.5,0,az,as)
            如果(az<0)
                等待(30)
                键盘按键(40)
            结束
        结束
    结束
结束


变量 xe,ye,pu,pi,be,eb,ej,je,w=0,sx,sy
功能 右侧启动()
    循环(真)
        循环(真)
            找图(1376,924,1437,982,"rc:2.bmp","000000",0.5,0,xe,ye)
            如果(xe>0)
                键盘按下(32)
                跳出

            否则
                键盘弹起(32)
                等待(500)
                w++
            结束

            如果(w==20)
                蜂鸣(2000,3000)
                键盘弹起(32)
                线程关闭(鼠标)
                消息框("把沙皮伟削放屁")
                键盘按键(123,1)
                线程关闭(线程右)
                线程右=0
            结束
        结束

        循环(真)
            等待(50)
            找色(1545,914,1569,922,"ECFEC4",0.5,0,pu,pi)
            如果(pu>0)
                跳出
            否则
                找图(1464,901,1492,932,"rc:5.bmp","000000",0.5,0,sx,sy)
                如果(sx>0)
                    键盘弹起(32)
                    线程关闭(鼠标)
                    蜂鸣(500,3000)
                    消息框("金币不足")
                    键盘按键(123,1)
                    线程关闭(线程右)
                    线程右=0
                结束
            结束
        结束

        找图(1465,902,1512,936,"rc:100.bmp","000000",0.5,0,ej,je)
        如果(ej>0)
            找图(1284,952,1364,983,"rc:900.bmp","000000",0.5,0,be,eb)
            如果(be<0)
                等待(30)
                键盘按键(40)
            结束
        结束
    结束
结束


功能 右侧启动_热键()//F10
    线程右=线程开启("右侧启动","")
    鼠标=线程开启("随机移动","")
结束


功能 左侧启动_热键()//F9
    线程id=线程开启("左侧启动","")
    鼠标=线程开启("随机移动","")
结束


变量 kj,jk,自动回车
功能 终止_热键()//F12
    如果(线程右>0)
        键盘弹起(32)
        线程关闭(线程右)
        线程右=0
        线程关闭(鼠标)
        鼠标=0
    结束

    如果(线程id>0)
        键盘弹起(32)
        线程关闭(线程id)
        线程id=0
        线程关闭(鼠标)
        鼠标=0
    结束
    如果(自动回车>0)
        线程关闭(自动回车)
        自动回车=0
    结束

    如果(kj>0)
        线程关闭(kj)
        kj=0
    结束
    如果(jk>0)
        线程关闭(jk)
        jk=0
    结束
结束



功能 给钱_热键()
    kj=线程开启("给钱","")
结束


功能 拿钱_热键()
    jk=线程开启("拿钱","")
结束


功能 给钱()
    变量 io,iu,zz,zs,xeu,yeu,yy,xx
    循环(真)
        找图(660,565,762,625,"rc:ks.bmp","000000",0.8,0,xeu,yeu)//开始
        如果(xeu>0)
            鼠标移动(707,595)
            等待(50)
            鼠标左键单击(1)
        否则
            等待(800)
            找图(1024,780,1094,818,"rc:sh.bmp","000000",0.5,0,xx,yy)//梭哈
            如果(xx>0)
                等待(50)
                鼠标移动(1059,800)//梭哈
                鼠标左键单击(1)
                等待(100)
                鼠标移动(1031,567)//确定
                等待(100)
                鼠标左键单击(1)
                循环(真)
                    等待(100)
                    找色(708,590,710,592,"D59929",0.8,0,io,iu)//梭哈图
                    如果(io>0)
                        鼠标移动(1906,15)//关闭
                        等待(10)
                        鼠标左键单击(1)
                        等待(100)
                        鼠标移动(1032,563)//确定关闭
                        等待(10)
                        鼠标左键单击(1)
                        键盘按键(123,1)
                        线程关闭(kj)
                        kj=0
                    结束
                结束
            否则
                等待(100)
                找图(1029,815,1096,848,"rc:bj.bmp","000000",0.5,0,zz,zs)//不加
                如果(zz>0)
                    鼠标移动(1070,828)
                    等待(50)
                    鼠标左键单击(1)
                结束
            结束
        结束
    结束
结束



功能 拿钱()
    变量 xer,yer,xx,yy,zz,zs
    循环(真)
        找图(660,565,762,625,"rc:ks.bmp","000000",0.5,0,xer,yer)//开始
        如果(xer>0)
            鼠标移动(707,595)
            等待(100)
            鼠标左键单击(1)
        否则
            等待(100)
            找图(1029,815,1096,848,"rc:bj.bmp","000000",0.5,0,xx,yy)//不加
            如果(xx>0)
                鼠标移动(1070,828)
                等待(100)
                鼠标左键单击(1)
            否则
                找图(663,383,763,417,"rc:cjb.bmp","000000",0.5,0,zz,zs)//结算框
                如果(zz>0)
                    //鼠标移动(1906,15)//关闭
                    //等待(100)
                    //鼠标左键单击(1)
                    //线程关闭(jk)
                    //jk=0
                结束
            结束
        结束
    结束
结束


功能 房间加密()
    变量 xer,yer
    鼠标移动(1228,99)
    等待(20)
    鼠标左键单击(1)
    等待(20)
    鼠标移动(1254,124)
    等待(20)
    鼠标左键单击(1)
    等待(20)
    鼠标移动(806,417)
    等待(20)
    鼠标左键单击(1)
    等待(20)
    找色(993,575,995,577,"000000",0.5,0,xer,yer)
    如果(xer>0)
        鼠标移动(1037,677)
        等待(20)
        鼠标左键单击(1)
        等待(20)
        线程关闭(加密)
        加密=0
    否则
        鼠标移动(886,577)
        等待(20)
        鼠标左键单击(1)
        鼠标移动(1035,577)
        等待(20)
        鼠标左键单击(1)
        键盘按键 (49)
        等待(20)
        键盘按键(48)
        等待(20)
        键盘按键(50)
        等待(20)
        键盘按键(51)
        等待(200)
        鼠标移动(1037,677)
        等待(20)
        鼠标左键单击(1)
        等待(20)
        线程关闭(加密)
        加密=0
    结束
结束

变量 加密
功能 热键0_热键()
    加密=线程开启("房间加密","")
结束



功能 指针移动(x,y)
    变量 x2,y2 ,移动时间,mm1,mm2,i,randomval
    移动时间=随机数(8,11)
    鼠标获取坐标(x2,y2)
    mm1=x-x2
    mm2=y-y2
    如果(i=移动时间)
        i>0
        i--
        randomval=随机数(6,12)
        鼠标相对移动(mm1/移动时间,mm2/移动时间)
        sleep(randomval)
    结束
    鼠标移动(x,y)
结束

变量 线程右,线程id,鼠标
功能 随机移动()
    循环(真)
        鼠标轨迹移动(随机数(200,1700), 随机数(200,750))  
        等待(随机数(0,1000))
    结束
结束


功能 鼠标随机移动(坐标x,坐标y)
    变量 目前坐标x,目前坐标y
    鼠标获取坐标(目前坐标x,目前坐标y)
    变量 距离x=目前坐标x-坐标x
    变量 距离y=目前坐标y-坐标y
    循环(真)

    结束
结束


function movetoEX(x,y)
    var x2,y2
    var movetimes=随机数(8,11)
    鼠标获取坐标(x2,y2)
    var mm1=x-x2
    var mm2=y-y2
    for(var i=movetimes;i>0;i--)
        var randomval=随机数(6,12)
        鼠标相对移动(mm1/movetimes,mm2/movetimes)
        sleep(randomval)
    end
    鼠标移动(x,y)
end


功能 鼠标轨迹移动(px, py)
    变量 x, y, cs, tx, ty, steplength, rndtimes, ex, ey
    鼠标获取坐标(x, y)
    如果(数学绝对值(x-px) > 数学绝对值(y-py))
        cs = 数学绝对值(x-px)
    否则
        cs = 数学绝对值(y-py)
    结束
    tx = (px-x)/转浮点型(cs)  //鼠标x坐标移动的单位距离
    ty = (py-y)/转浮点型(cs)  //鼠标y坐标移动的单位距离
    rndtimes = 0
    循环(x != px || y != py)
        steplength = 随机数(15, 50)  //鼠标移动的步长设置
        如果(数学绝对值(x-px) <= steplength && 数学绝对值(y-py) <= steplength)  //当前鼠标坐标位置跟目的坐标位置的距离小于等于步长时,直接移动到目的坐标
            鼠标移动(px, py)
            跳出
        结束
        如果(rndtimes == 0)
            如果(数学绝对值(x-px) > steplength)
                x = x + steplength * tx
            结束
            如果(数学绝对值(y-py) > steplength)
                y = y + steplength * ty
            结束
        否则
            x = x + steplength * tx   //步长乘以单位距离等于要移动的x坐标的距离,再加上原x坐标就是目的坐标的位置
            y = y + steplength * ty   //原理同上
        结束
        rndtimes++
        ex = 0
        ey = 0
        如果(rndtimes == 15)  //随机次数,数值越小,鼠标轨迹曲折越多
            ex = 随机数(-20, 20)  //偏移x,控制着鼠标轨迹线的曲折的幅度
            ey = 随机数(-20, 20)  //偏移y,控制着鼠标轨迹线的曲折的幅度
            rndtimes = 0
        结束
        鼠标移动(转整型(x+ex), 转整型(y+ey))
        等待(随机数(10, 50))
    结束
结束



功能 自动回车()
    变量 jwg,wnt,tu,tuy,n,s,tnee,bet
    鼠标移动(1060,101)
    等待(100)
    鼠标左键单击(1)
    等待(10)
    循环(真)
        找图(58,1040,1190,1079,"rc:yu.bmp","000000",0.5,0,tu,tuy)//下边图标
        如果(tu>0)
            循环(真)
                等待(5000)
                找图(240,44,378,80,"rc:6.bmp","000000",0.5,0,jwg,wnt)//游戏里面图标
                如果(jwg>0)
                    线程关闭("自动回车")
                否则
                    等待(10)
                    鼠标移动(tu,tuy)
                    等待(10)
                    鼠标左键单击(1)
                    等待(5000)
                    找图(240,44,378,80,"rc:6.bmp","000000",0.5,0,tnee,bet)
                    如果(tnee>0)
                        键盘按键(123,1)
                        线程关闭("自动回车")
                    结束
                结束
            结束
        否则
            找图(880,536,946,556,"rc:cs.bmp","000000",0.5,0,n,s)//重试
            如果(n>0)
                鼠标移动(913,547)
                鼠标左键单击(1)
            结束
        结束
    结束
结束



功能 自动回车_热键()//F8
    自动回车=线程开启("自动回车","")
结束

回复

使用道具 举报

发表于 2016-3-21 15:05:44 | 显示全部楼层
因为k是全局变量,只要不退出程序它就会一直存在,比如你开启线程,k累加到20了,你按热键结束线程,程序不退出,再开启线程,这时k就等于20,你可以关闭线程时把k赋值为0,方便下次累加
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-21 15:17:40 | 显示全部楼层
言术 发表于 2016-3-21 15:05
因为k是全局变量,只要不退出程序它就会一直存在,比如你开启线程,k累加到20了,你按热键结束线程,程序不 ...

额,懂啦,谢谢师傅!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-29 08:49 , Processed in 0.045453 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

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