[手机按键备忘]添加几个函数

Function 等待找图消失(找图数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 找图(找图数组) = -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function
Function 等待找图出现(找图数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 找图(找图数组) > -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function
Function 等待多点找色消失(多点找色数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 多点找色(多点找色数组) = -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function
Function 等待多点找色出现(多点找色数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 多点找色(多点找色数组) > -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function
Function 等待多点bi色消失(多点bi色数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 多点bi色(多点bi色数组) = -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function
Function 等待多点bi色出现(多点bi色数组,等待时间)    
    //间隔默认设置为100毫秒把     
    For cint(等待时间*10)
        If 多点bi色(多点bi色数组) > -1 Then 
            Exit For
        End If        
        Delay 100
    Next        
End Function

231

这些函数只是为了解决几个问题

问题1:打个比方 我们平时的结构基本都是循环结构 循环套循环 打个比方如下面

do

if 找图(找图_游戏主界面)>-1  then

       tap 400,1040//点击主界面右上关闭按钮

end if

          delay 50

loop


我们循环跑起来 遇到了游戏主界面 脚本发现了这个界面自然会点击游戏主界面右上的关闭按钮 但是app本身关闭某个界面 有一个反应时间 我们点击了右上的关闭按钮 后并不是马上该界面就消失了 需要一点点的反应时间 如果我们的脚本循环间隔太小 那么我们第一次发现游戏主界面点击右上关闭按钮 50毫秒后脚本再次查看手机界面 可能游戏主界面没有反应完 还存在 脚本认为当前还是游戏主界面 又多点击了一下右上的关闭按钮坐标  实际上我们是点击了游戏主界面2次 而第二次点击的时候 游戏主界面可能已经消失了导致我们点击到了其他界面上 产生了误操作和误点击 出现一些意料之外的界面  为了防止这个情况 我们可以这样

do

if 找图(找图_游戏主界面)>-1  then

       tap 400,1040//点击主界面右上关闭按钮

      call 等待找图消失(找图_游戏主界面,5) //这个函数的意思是 在这里等待 等待找不到游戏主界面 或者 最多等5秒 这样就避免了一个界面产生多个重复操作

end if

          delay 50

loop

问题2:有的时候 我们点击游戏主界面的按钮 比如副本按钮把 系统有一个反应时间 点击了副本按钮后 会短暂的进入了另外1个界面 然后系统才反应了过来帮我们导入到副本界面,这个短暂进入的界面 如果是完全不相关的界面倒也没什么  但是一旦是在我们流程内也频繁出现的界面 那么就很有可能导致一个误判和误操作 因为点击副本后出现的那个临时界面只是一闪而过的马上消失了 一旦我们流程中有这个界面的正常应对 比如点击该界面的某个坐标 那么因为她一闪而过的特殊情况 结果是我们脚本判断出的这个一闪而过的界面的对应点击很可能点击到了随后痴线的副本界面的对应位置 ,所以我们要这么写 能保证过滤掉这个一闪而过的额外情况

do

if 找图(找图_游戏主界面)>-1  then

       tap 400,600//点击副本按钮

      call 等待找图出现(找图_副本界面,10) //这个函数的意思是 在这里等待 等待找到副本界面 或者 最多等10秒 这样就避免了临时出现的这种一闪而过的额外界面的干扰

end if

          delay 50

loop

转载于:https://www.cnblogs.com/zjl8455482/p/10878794.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个用C语言编写的简单手机备忘录程序的示例代码: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_MEMOS 100 #define MAX_MEMO_LENGTH 100 // 定义备忘录结构体 typedef struct memo { char *content; } Memo; // 初始化备忘录 void initMemo(Memo memos[]) { for (int i = 0; i < MAX_MEMOS; i++) { memos[i].content = NULL; } } // 添加备忘录 void addMemo(Memo memos[]) { char buffer[MAX_MEMO_LENGTH]; int i; for (i = 0; i < MAX_MEMOS; i++) { if (memos[i].content == NULL) { printf("请输入备忘录内容(最多%d个字符):", MAX_MEMO_LENGTH - 1); fgets(buffer, MAX_MEMO_LENGTH, stdin); memos[i].content = (char *) malloc(strlen(buffer) + 1); strncpy(memos[i].content, buffer, strlen(buffer)); break; } } if (i == MAX_MEMOS) { printf("备忘录已满,无法添加备忘录。\n"); } } // 显示备忘录 void showMemos(Memo memos[]) { printf("备忘录内容如下:\n"); for (int i = 0; i < MAX_MEMOS; i++) { if (memos[i].content != NULL) { printf("%d. %s", i + 1, memos[i].content); } } } // 删除备忘录 void deleteMemo(Memo memos[]) { int index; printf("请输入要删除的备忘录编号:"); scanf("%d", &index); getchar(); if (index < 1 || index > MAX_MEMOS) { printf("无效的备忘录编号。\n"); return; } if (memos[index - 1].content == NULL) { printf("该备忘录不存在。\n"); return; } free(memos[index - 1].content); memos[index - 1].content = NULL; printf("备忘录已删除。\n"); } int main() { Memo memos[MAX_MEMOS]; int choice; initMemo(memos); do { printf("请选择需要执行的操作:\n"); printf("1. 添加备忘录\n"); printf("2. 显示备忘录\n"); printf("3. 删除备忘录\n"); printf("4. 退出\n"); printf("你的选择是:"); scanf("%d", &choice); getchar(); switch (choice) { case 1: addMemo(memos); break; case 2: showMemos(memos); break; case 3: deleteMemo(memos); break; case 4: printf("程序已退出。\n"); break; default: printf("无效的选择。\n"); break; } } while (choice != 4); return 0; } ``` 这个程序可以在控制台上添加、显示和删除备忘录。使用者可以通过输入相应的数字选择需要执行的操作。当备忘录数量达到上限时,将无法再添加新的备忘录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值