TC官方合作论坛

标题: 请问大神有8个坐标随机后怎么才能点击其中6个 [打印本页]

作者: 541742746    时间: 2016-8-21 04:23
标题: 请问大神有8个坐标随机后怎么才能点击其中6个
一共有8个坐标需要随机出其中6个进行点击,我下面代码只能点击其中一个,需要随机点击其中6个。麻烦大神指点下,谢谢
功能 自动()
    循环(真)
        变量 x=-1,y=-1
        变量 ret=找色(549,595,570,610,"C0A072",1,0,x,y)
        如果(ret>=0)
            等待(100)
            鼠标移动(419,709)
            等待(100)
            鼠标左键单击(1)
            等待(200)
            变量 随机数
            选择(随机数(0,7))
                条件 0
                鼠标移动(62,620)
                条件 1
                鼠标移动(147,616)  
                条件 2
                鼠标移动(235,619)
                条件 3
                鼠标移动(325,621)  
                条件 4
                鼠标移动(666,617)  
                条件 5
                鼠标移动(748,618)  
                条件 6
                鼠标移动(837,623)  
                条件 7
                鼠标移动(925,617)  
            结束
            鼠标左键单击(1)              
            等待(25000)
        结束
        等待(500)
    结束

结束


作者: 言术    时间: 2016-8-21 06:51
功能 自动()
    变量 x,y,j,i=0,标记=数组()
    变量 坐标=数组(数组(62,620),数组(147,616),数组(235,619),数组(325,621),数组(666,617),数组(748,618),数组(837,623),数组(925,617))
    循环(真)
        如果(找色(549,595,570,610,"C0A072",1,0,x,y) >=0)
            移动点击(419,709)
            循环(i<6)
                j = 随机数(0,7)
                如果(标记[j] == 1)
                    继续
                否则
                    调试输出("坐标x:"&坐标[j][0]&",坐标y:"&坐标[j][1])
                    移动点击(坐标[j][0],坐标[j][1])
                    标记[j]=1
                结束
                i++
            结束
        结束
        等待(30000)
    结束
结束

功能 移动点击(坐标x,坐标y)
    鼠标移动(坐标x,坐标y)
    等待(100)
    鼠标左键单击()
    等待(200)
结束
作者: 541742746    时间: 2016-8-21 14:36
言术 发表于 2016-8-21 06:51
功能 自动()
    变量 x,y,j,i=0,标记=数组()
    变量 坐标=数组(数组(62,620),数组(147,616),数组(235,61 ...

你好,代码可以运行一次,不能一直循环下去。第2轮只能循环找找色移动点击,但不会随机点击其中6个坐标。这个是怎么回事呢?我把循环等待30000改成500毫秒也不行。
作者: 言术    时间: 2016-8-21 15:31
541742746 发表于 2016-8-21 14:36
你好,代码可以运行一次,不能一直循环下去。第2轮只能循环找找色移动点击,但不会随机点击其中6个坐标。 ...

因为第二个循环条件是i<6,当i等于6时就跳出循环了,而下一次运行时应该把i重新设为0,我忘加了


功能 自动()
    变量 x,y,j,i,标记=数组()
    变量 坐标=数组(数组(62,620),数组(147,616),数组(235,619),数组(325,621),数组(666,617),数组(748,618),数组(837,623),数组(925,617))
    循环(真)
        i=0//忘把i置零了
        如果(找色(549,595,570,610,"C0A072",1,0,x,y) >=0)
            移动点击(419,709)
            循环(i<6)
                j = 随机数(0,7)
                如果(标记[j] == 1)
                    继续
                否则
                    调试输出("坐标x:"&坐标[j][0]&",坐标y:"&坐标[j][1])
                    移动点击(坐标[j][0],坐标[j][1])
                    标记[j]=1
                结束
                i++
            结束
        结束
        等待(30000)
    结束
结束
作者: 541742746    时间: 2016-8-21 15:49
言术 发表于 2016-8-21 15:31
因为第二个循环条件是i=0)
            移动点击(419,709)
            循环(i

还是有问题,第2轮只随机出了2个坐标进行点击,第3轮就没反映了,我的找色目标颜色有时间变动,会间隔30秒才出现这个颜色。会不会是时间等待问题?
作者: 我是谁啊123    时间: 2016-8-21 16:11
遍历 6次就好了 一次 点一个
作者: 言术    时间: 2016-8-21 17:10
我是谁啊123 发表于 2016-8-21 16:11
遍历 6次就好了 一次 点一个

功能 自动()
    变量 x,y,j,i,标记=数组()
    变量 坐标=数组(数组(62,620),数组(147,616),数组(235,619),数组(325,621),数组(666,617),数组(748,618),数组(837,623),数组(925,617))
    循环(真)
        i=0//忘把i置零了
        遍历(变量 a = 0; a < 8; a++)//忘把标记置零了
            标记[a] = 0
        结束
        如果(找色(549,595,570,610,"C0A072",1,0,x,y) >=0)
            移动点击(419,709)
            循环(i<6)
                j = 随机数(0,7)
                如果(标记[j] == 1)
                    继续
                否则
                    调试输出("坐标x:"&坐标[j][0]&",坐标y:"&坐标[j][1])
                    移动点击(坐标[j][0],坐标[j][1])
                    标记[j]=1
                结束
                i++
            结束
        结束
        等待(30000)
    结束
结束
作者: 541742746    时间: 2016-8-21 18:35
言术 发表于 2016-8-21 17:10
功能 自动()
    变量 x,y,j,i,标记=数组()
    变量 坐标=数组(数组(62,620),数组(147,616),数组(235,61 ...

可以了,十分感谢。
作者: wang220211    时间: 2016-8-31 08:21
本帖最后由 wang220211 于 2016-8-31 08:24 编辑

后来的问题什么原因?




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1