c/c++语言开发共享王者荣耀刷金币小程序

前两天让同学帮我上个王者(没办法,自己技术不行),他需要英雄,而我没有金币,买不起(钱多重要!!!),就只好云刷金币,但是我这么懒,哪愿意手动刷呀……所以,就想办法呗。经过长时间的战斗(好像也没有多长),最终完成! 代码是用C写的: 怎么说呢,感谢谭浩强教授,哈哈。 链接:https://pan.b …

前两天让同学帮我上个王者(没办法,自己技术不行),他需要英雄,而我没有金币,买不起(钱多重要!!!),就只好云刷金币,但是我这么懒,哪愿意手动刷呀……所以,就想办法呗。经过长时间的战斗(好像也没有多长),最终完成!

代码是用c写的:

  1 #include <stdio.h>    2 #include <windows.h>    3 #include <time.h>    4 #include <stdlib.h>    5     6 char *basestr = "adb shell input tap ";    7 int info[8][3] = {    8     {0, 0, 0},    9     {0, 0, 0},   10     {0, 0, 0},   11     {0, 0, 0},   12     {0, 0, 0},   13     {0, 0, 0},   14     {0, 0, 0},   15     {0, 0, 0},   16 };   17    18 /**   19  * 自定义乘方函数,求a的b次方   20  * @param  int a   21  * @param  int b   22  * @return int r   23  */   24 int power(int a, int b)   25 {   26     int i, r = 1;   27     for (i = 0; i < b; i++) r *= a;   28     return r;   29 }   30    31 /**   32  * 自定义执行函数   33  * @param int dx    x 坐标   34  * @param int dy    y 坐标   35  */   36 void func(int dx, int dy)   37 {   38     char dxstr[10];             // x 坐标字符串   39     char dystr[10];             // y 坐标字符串   40     char str[100];              // adb 命令字符串   41        42     strcpy(str, basestr);   43     // 数字转换为字符串   44     itoa(dx, dxstr, 10);   45     itoa(dy, dystr, 10);   46     // 字符串拼接   47     strcat(str, dxstr);   48     strcat(str, " ");   49     strcat(str, dystr);   50     system(str);                // 调用 system   51     system("cls");              // 使用模拟器会出现警告   52 }   53    54 /**   55  * 写文件   56  */   57 void wfile(char *filename)   58 {   59     int flag = 1, flag2 = 1;                                // 标志   60     file *fp;   61     int startx, starty;                                     // 参考坐标   62     int dx, dy;                                             // 相对坐标   63     point pt = {0, 0};   64     int startt = 0, t;                                      // 开始时间和时间间隔   65     int i = 0;   66        67     fp = fopen(filename, "w");   68     while (getch() == ' ')                                  // 按下空格键,执行循环   69     {   70         getcursorpos(&pt);                                  // 获取当前位置坐标   71         if (flag)                                           // 获取参考坐标   72         {   73             startx = (&pt)->x;   74             starty = (&pt)->y;   75             printf("参考坐标为:x=%d,y=%d", startx, starty);   76             flag = 0;   77         }   78         else   79         {   80             t = flag2 ? 0 : (clock() - startt);             // 延时时间   81             if(flag2) flag2 = 0;   82             dx = (&pt)->x - startx;   83             dy = (&pt)->y - starty;   84             startt = clock();                               // 获取当前时间,作为下一次开始时间   85             // 给数组赋值   86             if (t == 0) info[i][0] = t;   87             else info[i][0] = t - 500;   88             info[i][1] = dx;   89             info[i++][2] = dy;   90             fprintf(fp, "%d,%d,%dn", (t - 500), dx, dy);           // 将信息存储在 info.log 文件中   91             func(dx, dy);                                   // 运行执行函数   92         }   93     }   94     fclose(fp);                                             // 关闭文件   95 }   96    97 int main()   98 {   99     file *out;                                              // 要读取的文件  100     char temp[10];  101     char sc, nc, rc;  102     int i = 0, j, k;                                        // 循环变量  103     char ch;                                                // 文件读取后的存储值  104     int flag = 1;                                           // 标志  105       106     // 更改窗口大小  107     system("mode con cols=40 lines=20");  108       109     system("adb devices");  110     printf("如果设备不存在,不建议继续执行n是否需要继续执行?y/n?");  111     scanf(" %c", &sc);  112     if (sc != 'y' && sc != 'y') exit(0);  113       114     // 判断文件是否存在  115     if ((out = fopen("info.log", "r")) == null)  116     {  117         printf("当前文件夹下未检测到记录文件,是否需要新建?(文件录入方式请参照readme.txt)y/n?");  118         scanf(" %c", &nc);  119         if (nc == 'y' || nc == 'y')  120         {  121             wfile("info.log");                              // 写入文件 info.log  122             flag = 0;                                       // 将 flag 置0  123         }  124         else exit(0);  125     }  126       127     // 判断是否需要从文件中读取  128     if (flag)  129     {  130         i = 0;  131         j = 0;  132         printf("已找到记录文件,是否重新录入?y/n?");  133         scanf(" %c", &rc);  134         if (rc == 'y' || rc == 'y') wfile("info.log");      // 重新写入文件  135         // 读取文件中的内容,给 info 数组赋值  136         while ((ch = fgetc(out)) != eof)  137         {  138             // 判断是否是 ',' 或者换行  139             if (ch != ',' && ch != 'n') temp[i++] = ch;  140             else  141             {  142                 i = 0;                                      // i置0  143                 info[j / 3][j % 3] = atoi(temp);            // 给数组赋值  144                 for (k = 0; k < 10; k++) temp[k] = 'n';    // 清空 temp  145                 j++;  146             }  147         }  148     }  149     fclose(out);                                            // 关闭文件  150       151     // 执行操作  152     while (1)  153     {  154         for (i = 0; i < 8; i++)  155         {  156             sleep(info[i][0]);                              // 延时  157             func(info[i][1], info[i][2]);                   // 执行  158         }  159         sleep(3000);  160     }  161     return 0;  162 }

怎么说呢,感谢谭浩强教授,哈哈。

链接:https://pan.baidu.com/s/18rlpbahcp0nw7i5cswrgta
提取码:yslx

有些不务正业,哈哈,学习还是为了玩,那将毫无意义 (^_^)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/604609.html

(0)
上一篇 2021年5月12日
下一篇 2021年5月12日

精彩推荐