android别踩白块设计,别踩白块儿实例——按键精灵手机助手

本帖最后由 倪沁东 于 2017-12-24 15:19 编辑

名称:别踩白块自动点击

工具:按键精灵手机助手,夜神模拟器

目的:

利用按键精灵在别踩白块儿游戏中刷记录;

熟悉CmpColorEx对比多个点颜色命令的使用;

55fd2b2273b5a8b4531f72773c469d6e.gif

1.jpg (26.17 KB, 下载次数: 1)

2017-12-24 00:22 上传

思路:

根据上面的思路图,以及该游戏特点,我们可以选择在固定位置进行判断,确定点击时间来进行脚本的执行;

根据游戏的特点以及上面的想法,我们可以产生这样的思路:

如图中所示,在1、2、3、4处分别设置四个点,分别进行取色处理,然后对四个颜色值进行比较,我们需要脚本可以做到取色并且进行颜色值的比较,然后分析全部命令中的颜色命令,最终选择对比多点颜色命令

命令名称: CmpColorEx 对比多个点颜色

命令功能: 同时比较指定的多个坐标点的颜色,支持多色、偏色、相似度比较  语法格式:CmpColorEx(mul_color,sim) 思路分析结束!

thread-679100-1-1.html

thread-679100-1-1.html

步骤:

第一步:代码分析

示例代码:IfCmpColorEx("300|500|FFFFFF|123456-102030,305|505|FFFFFF",0.9) = 1ThenTracePrint"全部点颜色相等"

ElseTracePrint"有一个或多个颜色不符合"

End If

简化代码:If CmpColorEx("x1|y1|FFFFFF,x2|y2|FFFFFF",0.9)= 1 ThenTracePrint"全部点颜色相等"

ElseTracePrint"有一个或多个颜色不符合"

即对四个点其中的两个点进行取色比较,代码思路分析如下:

55fd2b2273b5a8b4531f72773c469d6e.gif

4.jpg (27.21 KB, 下载次数: 1)

2017-12-24 00:38 上传

第二步:代码编写

前提:取得白色区域颜色值以及1,2,3,4号点坐标值,可利用抓抓进行简单获取

步骤:

(1)比较1和2IfCmpColorEx("740|643|FFFFFF,740|443|FFFFFF", 0.9) = 1 Then

(2)1和2相同情况下,比较1和3IfCmpColorEx("740|643|FFFFFF,740|443|FFFFFF", 0.9) = 1 Then         IfCmpColorEx("740|643|FFFFFF,710|269|FFFFFF", 0.9) = 1 Then //比较1和3

Tap 732,80                                                               //相同,点击4号点

Else

Tap 710,269                                                             //不同,点击3号点

End If

(3)1和3不同情况下,比较1和3IfCmpColorEx("740|643|FFFFFF,740|443|FFFFFF", 0.9) = 1 Then     IfCmpColorEx("740|643|FFFFFF,710|269|FFFFFF", 0.9) = 1 Then //比较1和3

Tap 732,80                                                               //相同,点击4号点

Else

Tap 710,269                                                             //不同,点击3号点

End If

Else     IfCmpColorEx("740|643|FFFFFF,710|269|FFFFFF", 0.9) = 1 Then

Tap 704,443                                                             //不同,点击2号点

Else

Tap 743,643                                                             //不同,点击1号点

End If

End If

(4)为实现脚本循环,加入do   loop命令即可,并适当加入延迟,个人建议60毫秒

缺点:只能进行的模式是点击一次动一次那种的,个人分析原因是屏幕刷新问题,产生残留导致找色命令不能很好的实现。

最后,各位如果有任何建议可以直接提出来,大家有问题共同交流,共同进步。

时间:2017年12月24日星期日

@人生大敌

7475c8e25616fa82a2fe85bc6ac87ac9.gif

别踩白块儿完整脚本.txt

(363 Bytes, 下载次数: 95)

2017-12-24 00:31 上传

点击文件名下载附件

下载积分: 吾爱币 -1 CB

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于您的问题,我会尽力回答。在Android中,JNI可以用来与C/C++代码进行交互,我们可以利用JNI来读SD卡。下面是一个简单的例子: 1. 首先,在您的Java代码中定义native方法: ``` public class MainActivity extends Activity { static { System.loadLibrary("native-lib"); } public native String readFromSDCard(String filePath); public native boolean writeToSDCard(String filePath, String content); } ``` 2. 然后,在您的C/C++代码中实现这些方法: ``` #include <jni.h> #include <string.h> #include <stdio.h> #include <android/log.h> JNIEXPORT jstring JNICALL Java_com_example_myapplication_MainActivity_readFromSDCard(JNIEnv *env, jobject instance, jstring filePath) { const char *path = env->GetStringUTFChars(filePath, 0); FILE *file = fopen(path, "r"); if (file == NULL) { __android_log_print(ANDROID_LOG_ERROR, "JNI", "readFromSDCard: fopen failed"); return NULL; } fseek(file, 0, SEEK_END); long size = ftell(file); fseek(file, 0, SEEK_SET); char *buffer = new char[size + 1]; fread(buffer, 1, size, file); buffer[size] = '\0'; fclose(file); env->ReleaseStringUTFChars(filePath, path); return env->NewStringUTF(buffer); } JNIEXPORT jboolean JNICALL Java_com_example_myapplication_MainActivity_writeToSDCard(JNIEnv *env, jobject instance, jstring filePath, jstring content) { const char *path = env->GetStringUTFChars(filePath, 0); const char *str = env->GetStringUTFChars(content, 0); FILE *file = fopen(path, "w"); if (file == NULL) { __android_log_print(ANDROID_LOG_ERROR, "JNI", "writeToSDCard: fopen failed"); return false; } fwrite(str, 1, strlen(str), file); fclose(file); env->ReleaseStringUTFChars(filePath, path); env->ReleaseStringUTFChars(content, str); return true; } ``` 3. 最后,在您的AndroidManifest.xml文件中添加以下权限: ``` <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> ``` 这样,您就可以在Java代码中调用这些native方法来读SD卡了。 至于Android NDK的使用实例——增量更新实战,这是一个比较复杂的话题,如果您有相关的需求,可以提出具体的问题,我会尽力为您解答。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值