TC官方合作论坛

标题: 请教重复的问题 [打印本页]

作者: iycamtkg    时间: 2015-11-24 19:38
标题: 请教重复的问题
本帖最后由 iycamtkg 于 2015-11-24 19:51 编辑

功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")

    循环(状态)
        如果(状态==真)            
            线程句柄=线程开启("刷精英","")
            跳出
        结束
    结束   
结束

我想要把刷精英的任务 重复10次,要怎样写,这样只能做一次


作者: 君凌天下    时间: 2015-11-24 19:56
功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")
    遍历(变量 i = 0; i < 10; i++)
        如果(状态)
            线程句柄=线程开启("刷精英","")
            跳出
        结束
    结束   
结束
作者: iycamtkg    时间: 2015-11-24 20:13
君凌天下 发表于 2015-11-24 19:56
功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")
    遍历(变量 i = 0; i < 10; i++)

点选后,还是只做了一次任务就停止了
作者: iycamtkg    时间: 2015-11-24 20:15
君凌天下 发表于 2015-11-24 19:56
功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")
    遍历(变量 i = 0; i < 10; i++)
  1. 功能 复选框10_点击()
  2.     变量 状态=复选框获取状态("复选框10")
  3.    
  4.     遍历(变量 i = 0; i < 10; i++)
  5.         如果(状态)
  6.             线程句柄=线程开启("刷精英","")
  7.             跳出
  8.         结束
  9.     结束   
  10.    
  11. 结束


  12. 功能 刷精英(x,y)
  13.     //dm.KeyPress(76)   
  14.     等待(200)
  15.     循环(真)        
  16.         等待(200)
  17.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy1.bmp","050505",0.9,0,x,y)
  18.         如果(dm_ret>=0)
  19.             调试输出(x&","&y)
  20.             点击(x,y)            
  21.             跳出           
  22.         结束
  23.     结束
  24.    
  25.     等待(200)
  26.     循环(真)        
  27.         等待(200)
  28.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy2.bmp","050505",0.9,0,x,y)
  29.         如果(dm_ret>=0)
  30.             调试输出(x&","&y)
  31.             点击(x,y)            
  32.             跳出           
  33.         结束
  34.     结束
  35.    
  36.     等待(200)
  37.     循环(真)        
  38.         等待(200)
  39.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy3.bmp","050505",0.9,0,x,y)
  40.         如果(dm_ret>=0)
  41.             调试输出(x&","&y)
  42.             点击(x,y)            
  43.             跳出           
  44.         结束
  45.     结束
  46.     等待(200)
  47.     循环(真)        
  48.         等待(200)
  49.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy4.bmp","050505",0.9,0,x,y)
  50.         如果(dm_ret>=0)
  51.             调试输出(x&","&y)
  52.             点击(x,y)            
  53.             跳出           
  54.         结束
  55.     结束
  56.     等待(200)
  57.     循环(真)        
  58.         等待(200)
  59.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy5.bmp","050505",0.9,0,x,y)
  60.         如果(dm_ret>=0)
  61.             调试输出(x&","&y)
  62.             点击(x,y)            
  63.             跳出
  64.         结束
  65.     结束
  66.    
  67.    
  68. 结束
复制代码


这是全部的代码
作者: 君凌天下    时间: 2015-11-24 20:17
iycamtkg 发表于 2015-11-24 20:13
点选后,还是只做了一次任务就停止了:

功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")
    遍历(变量 i = 0; i < 10; i++)
        如果(状态)
            线程句柄=线程开启("刷精英","")
            //跳出
        结束
    结束   
结束

作者: 君凌天下    时间: 2015-11-24 20:18
把那个跳出不要
作者: 言术    时间: 2015-11-24 20:31
  1. 功能 复选框10_点击()
  2.     变量 状态=复选框获取状态("复选框10")
  3.     如果(状态)
  4.         线程句柄=线程开启("打怪","")
  5.     结束
  6. 结束

  7. 功能 打怪()
  8.     遍历(变量 i = 0; i < 10; i++)
  9.         刷精英()
  10.     结束
  11. 结束
复制代码

作者: iycamtkg    时间: 2015-11-24 20:38
君凌天下 发表于 2015-11-24 20:18
把那个跳出不要

试过了,我用记事本记A,发现它会一下子把10个A都写出来
作者: iycamtkg    时间: 2015-11-24 20:50
言术 发表于 2015-11-24 20:31

我用记事本10秒一次写字母A,可行,可是做任务还是只有一次,不知哪出问题
  1. 功能 复选框10_点击()
  2.     变量 状态=复选框获取状态("复选框10")
  3.     如果(状态)
  4.         线程句柄=线程开启("打怪","")
  5.     结束
  6. 结束

  7. 功能 打怪()
  8.     遍历(变量 i = 0; i < 10; i++)
  9.         刷精英()
  10.     结束
  11. 结束


  12. 功能 刷精英()
  13.     变量 x,y
  14.     //dm.KeyPress(76)   
  15.     等待(200)
  16.     循环(真)        
  17.         等待(200)
  18.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy1.bmp","050505",0.9,0,x,y)
  19.         如果(dm_ret>=0)
  20.             调试输出(x&","&y)
  21.             点击(x,y)            
  22.             跳出           
  23.         结束
  24.     结束
  25.    
  26.     等待(200)
  27.     循环(真)        
  28.         等待(200)
  29.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy2.bmp","050505",0.9,0,x,y)
  30.         如果(dm_ret>=0)
  31.             调试输出(x&","&y)
  32.             点击(x,y)            
  33.             跳出           
  34.         结束
  35.     结束
  36.    
  37.     等待(200)
  38.     循环(真)        
  39.         等待(200)
  40.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy3.bmp","050505",0.9,0,x,y)
  41.         如果(dm_ret>=0)
  42.             调试输出(x&","&y)
  43.             点击(x,y)            
  44.             跳出           
  45.         结束
  46.     结束
  47.     等待(200)
  48.     循环(真)        
  49.         等待(200)
  50.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy4.bmp","050505",0.9,0,x,y)
  51.         如果(dm_ret>=0)
  52.             调试输出(x&","&y)
  53.             点击(x,y)            
  54.             跳出           
  55.         结束
  56.     结束
  57.     等待(200)
  58.     循环(真)        
  59.         等待(200)
  60.         变量 dm_ret = dm.FindPic(0,0,2000,2000,"jy5.bmp","050505",0.9,0,x,y)
  61.         如果(dm_ret>=0)
  62.             调试输出(x&","&y)
  63.             点击(x,y)
  64.             跳出
  65.         结束
  66.     结束
  67.    
  68.    
  69. 结束
复制代码

作者: 君凌天下    时间: 2015-11-24 21:10
那就对了
作者: 言术    时间: 2015-11-24 21:12
iycamtkg 发表于 2015-11-24 20:50
我用记事本10秒一次写字母A,可行,可是做任务还是只有一次,不知哪出问题

我不知道原因,我试着精简了一下,供你参考。


功能 复选框10_点击()
    变量 状态=复选框获取状态("复选框10")
    如果(状态)
        线程句柄=线程开启("打怪","")
    结束
结束

功能 打怪()
    遍历(变量 i = 0; i < 10; i++)
        刷精英()
    结束
结束


功能 刷精英()
    //    找图点击("jy1.bmp")
    //    找图点击("jy2.bmp")
    //    找图点击("jy3.bmp")
    //    找图点击("jy4.bmp")
    //    找图点击("jy5.bmp")
    遍历(变量 i = 1; i <= 5; i++)
        找图点击("jy"&i&".bmp")
    结束
结束

功能 找图点击(图片名)
    变量 x,y
    等待(200)
    循环(真)        
        等待(200)
        dm.FindPic(0,0,2000,2000,图片名,"050505",0.9,0,x,y)
        如果(x>0)
            调试输出(图片名&x&","&y)
            点击(x,y)            
            跳出           
        结束
    结束
结束
作者: 君凌天下    时间: 2015-11-24 21:14
iycamtkg 发表于 2015-11-24 20:38
试过了,我用记事本记A,发现它会一下子把10个A都写出来

遍历里面最好不要用线程...
作者: liuhaiyan008    时间: 2015-11-25 12:03
本帖最后由 liuhaiyan008 于 2015-11-25 12:05 编辑

功能 复选框10_点击()
      变量 状态=复选框获取状态("复选框10")         
            如果(状态)
             遍历(变量 i = 0; i < 10; i++)
               线程句柄=线程开启("刷精英","")
               线程等待(线程句柄,-1)
            结束
      结束   
结束



作者: iycamtkg    时间: 2015-11-26 22:07
言术 发表于 2015-11-24 21:12
我不知道原因,我试着精简了一下,供你参考。

你好,上次用的挺顺的,我想把操作步骤变化一下,先找到JY1和JY2后,再循环再3,4,5,改来改去,一点复选框就卡死了




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