精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 论坛浏览速度太慢? 教你赚取精币 - 每日签到

谋生 求职/招聘- 论坛接单- 资源出售

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

搜索
订阅<精易模块>源码若快打码 快速★准确★稳定★便宜2017年好项目,每月多挣好多钱██【免费网络验证】无需服务器█实力收购网赚粉长期合作加Q834138██打码兔秒杀一切验证码██
全国PPTP秒换IP 动态IP仅35元/月
若快打码 快速★准确★稳定★便宜
2017年好项目,每月多挣好多钱
██【易卡发卡平台】无需服务器█
实力收购网赚粉长期合作加Q834138█打码兔答题 速度快 极稳定█
★滴滴答题★8元万码★分成任加★火眼答题-韩文日文-高质量答题
██免费网络验证 收款即时到帐█
云速打码全天50%分成★稳定★快速实力收购网赚粉长期合作加Q834138收购一切流量☞QQ:503830000☜
提供稳定微信支付渠道Q:3237546076
全自动手机APP引流脚本,日1000+大量收购一切流量  995799457长期出漂流瓶回复量/男性QQ好友号
实力收购网赚粉长期合作加Q834138
短信接码平台 高提成 Q3404393049
┏高价收各种量,运营商,分光等┓
长期收购微信各种推广渠道
┏--长期收购各类成品引流软件--┓
收网吧转发空间QQ:1513888885
实力收购网赚粉长期合作加Q834138┏ °短信群发内容成功率百分百°┓
┆   高价收网吧,空间转发量  ┆长期收购微信各种推广渠道
║ 长期收购针对性精准QQ人群 ║
收网吧转发空间QQ:1513888885实力收购网赚粉长期合作加Q834138┃ °手机短信群发广告量找老板°┃
┆狂收各类引流, 找软件制作者┆
长期收购微信各种推广渠道
║    合作QQ:2665555557    ║
收网吧转发空间QQ:1513888885
实力收购网赚粉长期合作加Q834138
┗低价出各类广告QQ:5690990┛
┆     联系qq:985013583    ┆
长期收购微信各种推广渠道
║ 长期诚聘各大引擎SEO合作  ║
收网吧转发空间QQ:1513888885实力收购网赚粉长期合作加Q834138
┏x58双路租机,模拟器24开  ┓
┗┈收购物各类资料,短信群发┈┛长期收购微信各种推广渠道
┗-收针对性人群引流加Q群流量┛
出微信男粉空间说说转发Q83099971实力收购网赚粉长期合作加Q834138
┗单进程单IP,最低15元一天 ┛
█IP精灵█最强大的动态IP加速器
长期收购微信各种推广渠道
Thewolf语音验证码接收平台可API
有技术寻项目合作,违规和小单不接
实力收购网赚粉长期合作加Q834138
出加群网吧空间转发量qq;771112
空间转发,相册上传,加群 好友量
长期收购微信各种推广渠道
██给力引流脚本日引2000+
高价收QQ|微信活粉QQ1833448828
实力收购精准粉长期合作加Q834138
日产几万25➕以上活粉.qq5393367
┏--------国外集团重金收购--------
长期收购微信各种推广渠道
█Q群引流 适合国外团队炒群█
收网吧转发空间QQ:1379111111
实力收购精准粉长期合作加Q834138
长期大量收二手微信男粉QQ317573
┃     大量软件单,急需作者      ┃
长期收购微信各种推广渠道
█一手邀请入群量 招稳定代理█
收QQ微信新闻转发:1379111111
实力收购精准粉长期合作加Q834138长期大量收二手微信男粉QQ317573
┃    流量人头网赚量大小都要    ┃
长期收购微信各种推广渠道
█可测试可担保交易 安全放心█
你有量,我有钱QQ:1379111111
实力收购精准粉长期合作加Q834138长期大量收二手微信男粉QQ317573
┃       招SEO大神实地办公       ┃
长期收购微信各种推广渠道
收活粉量大的来
┏ 个人-自动发卡平台源码-出售 ┓
实力收购精准粉长期合作加Q834138长期大量收二手微信男粉QQ317573
┃   高薪招推广客服人事等职位  ┃
长期收购微信各种推广渠道
收活粉量大的来
┗众优支付接口扫码PCWAP网银┛
实力收购精准粉长期合作加Q834138
长期大量收二手微信男粉QQ317573
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
QQ群发量/空间相册量+Q532402
┏██人傻钱多 QQ:753310██┓
实力收购精准粉长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
日产王者量3W+QQ3006306
█ 收成品群/成品号/成品微信  █
实力收购精准粉长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
┏        出高质量交友男粉          ┓
█    收男粉/精准粉/网赚粉     █
实力收购精准粉长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
┗ 日出5000+微信男粉一手引流  ┛
█反正就是人傻钱多收各种活粉█
实力收购精准粉长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
██稳定高产,时速不低██
┗██  菲律宾集团诚招合作 ██┛
实力收广告引流长期合作加Q834138
实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
┏长期收直播APP接口,找实力合作┓
实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
┗收直播APP采集加Q:2381274905┛
实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
出活人加Q群量各种渠道QQ14669699
实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
高价收站群量/运营商量/WAP安卓量
实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
收QQ不封登录或免码接口收Q协议实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
长期收购微信各种推广渠道
████LOL游戏男粉████
高价收各种量、高薪招聘引流大神实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃大量租售各种qq小号 2892721932
███QQ:38336720███
出Q量每天3w+ 550016882
实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃【收西瓜等平台邀请软件】
网咖好友量空间转发 相册转发加群
专业代加QQ微信好友 QQ724881383实力收广告引流长期合作加Q834138实力收各种推广引流渠道和资源
┃重金大量收各种推广渠道/流量┃
出V信男粉QQ男粉要的加Q:5555650
大量收微信粉 QQ2820301656
活手机qq号租售,改密不怕死冻结
实力收广告引流长期合作加Q834138
QQ分享引流裂变源码▇日引上万▇
┗-------点击这里!!找我拿钱-------┛
大量Q群寻协议合作Q249128710
出一手加群量转发量q45343882
█拨号VPS服务器4元/天免费测试█
我要租广告位 
查看: 10494|回复: 384
打印 上一主题 下一主题
收起左侧

[易语言纯源码] 微信跳一跳详细教程版 新手进来,分分钟学会

  [复制链接]
结帖率:100% (16/16)
跳转到指定楼层
楼主
发表于 2018-1-9 17:46:56 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
分享源码
界面截图: -
是否带模块: 纯源码
备注说明: -
前言:最近跳一跳太火,大家都在写,今天把原理来说说,说得不对欢迎指出!


注:请不要加我微信,免得尴尬!(^_^)




准备工作:
1.电脑
2.数据线
3.安卓手机(因为我这渣渣电脑带不动模拟器,只能写真机版)


第一步:电脑安装ADB (https://developer.android.google.cn/studio/releases/platform-tools.html
             下载解压就可以了


第二步:大家不需要配置啥环境变量,我搞半天没搞懂,直接在ADB目录创建易语言源码就不需要配置了!


第三步:手机用数据线连接电脑。手机打开USB调试,还需要打开手机USB调试下面的“模拟按键”
             没有“模拟按键”的就打开“USB安全权限”,以我VIVO X20A打开“USB安全权限”打不开,
             问客服才知道要先退出VIVO账号,再登陆,才能打开。


第四步:打开第二步创建的易语言源码,创建图片框、两个按钮、一个编辑框。界面如下




以上工作做完之后,先来测试下ADB,看是否连接到手机


到ADB目录创建一个 a.bat
a.bat用记事本打开
输入”start"保存
运行a.bat得到一个CMD界面


在CMD里面输入“adb shell input keyevent 3”(这个是按下手机主页面键) 回车,看手机是否回到主页面

并且CMD里面没有输出错误!



以上准备工作做完,下面进入代码阶段:


自动模式:
              因为跳一跳背景和道具多为渐变色,所以识别不是太好,说下原理(我用这个模式只跳220多点)

第一步:截取手机屏幕保存为图片,并送传到电脑,加载到图片框,代码如下(子程序名:那么我们就开始跳吧)
  
子程序名返回值类型公开备 注
那么我们就开始跳吧  
' 删除之前取到的截图
判断 (集开始 = )
返回 ()



删除文件 (取运行目录 ()“\tiaoyitiao.png”)
' 使用adb命令截取手机屏幕
运行 (“adb shell screencap -p /sdcard/tiaoyitiao.png”, 真, 1)  ' 手机截屏保存到SD卡根目录
运行 (“adb pull /sdcard/tiaoyitiao.png”, 真, 1)  ' 图片传送到电脑程序目录上
图片框1.图片 = 读入文件 (取运行目录 ()“/tiaoyitiao.png”)  ' 把图片显示到软件上
判断 (集手动 = )
取棋子底部坐标 ()



代码都有备注,可以看看,看到最后面有个“取棋子底部坐标()”
那么下一步代码


  
子程序名返回值类型公开备 注
取棋子底部坐标  
变量名类 型静态数组备 注
color整数型  
刷子句柄整数型  
画笔句柄整数型  
r整数型  
g整数型  
b整数型  
x整数型  
y整数型  
' 临时代码 ()
dc = GetDC (图片框1.取窗口句柄 ())  ' 设置场景
画笔句柄 = CreatePen (0, 1, #黑色 )  ' 画笔颜色 、 形状、粗细
刷子句柄 = CreateSolidBrush ( #红色 )  ' 刷子颜色
x = 0
y = 270  ' 定位Y270 加快速度
判断循环首 ()
x = x + 1
判断 (x > 图片框1.宽度)  ' X轴不能大于组件宽度
x = 1
y = y + 1
判断 (y > 图片框1.高度)  ' Y轴不能大于组件高度
_按钮1_被单击 ()
信息框 (“未找到”, 0, , )
跳出循环 ()



color = GetPixel (dc, x, y)  ' 取坐标颜色
判断 (color = 6042679)  ' 棋子特征颜色
跳出循环 ()
判断 (color = 6502712)  ' 棋子特征颜色
跳出循环 ()
判断 (color = 6371383)  ' 棋子特征颜色
跳出循环 ()
判断 (color = 6699831)  ' 棋子特征颜色
跳出循环 ()



判断循环尾 ()
SelectObject (dc, 画笔句柄)  ' 更换画笔
Ellipse (dc, x - 3, y - 3, x + 3, y + 3)  ' 画空心圆
SelectObject (dc, 刷子句柄)  ' 更新刷子
Ellipse (dc, x - 3, y - 3, x + 3, y + 3)  ' 画实心圆
DeleteObject (刷子句柄)  ' 释放刷子
DeleteObject (画笔句柄)  ' 释放画笔
棋子.x = x  ' 记录棋子坐标
棋子.y = y
输出调试文本 (“棋子颜色:”到文本 (color))
“宓亲 ()


可以看到,棋子我是直接找的4个颜色,经过多方测试,这四个颜色都能识别到棋子底部
找到这个颜色就把坐标记录下来。并且用刷子在坐标的位置画个实心圆显示给我们看,
方便调试!

而且Y轴是从270开始的,一行一行的找,加快速度,按我的图片框高度是从270的!!!!


棋子的坐标找到了,那么我们再找“板凳”的坐标(“板凳”的坐标识别不太理想)


  
子程序名返回值类型公开备 注
取小板登坐标  
变量名类 型静态数组备 注
color整数型  
刷子句柄整数型  
画笔句柄整数型  
r整数型  
g整数型  
b整数型  
x整数型  
y整数型  
color2整数型  
' 临时代码 ()
dc = GetDC (图片框1.取窗口句柄 ())
画笔句柄 = CreatePen (0, 1, #黑色 )
刷子句柄 = CreateSolidBrush ( #绿色 )
x = 0
y = 140  ' 默认从200开始,加快取色速度
判断循环首 ()
x = x + 1
判断 (x > 图片框1.宽度)  ' 像素x不超过组件的宽度
x = 1
y = y + 1
判断 (y > 图片框1.高度)  ' 像素Y不超过组件的高度
_按钮1_被单击 ()
信息框 (“未找到”, 0, , )
跳出循环 ()



color = GetPixel (dc, x, y)  ' 获取坐标颜色值
判断 (color2 = 0)  ' 如果color2=0 ,也就是第一次取色,把取到的颜色给他保存
color2 = color
判断 (color - color2 > 78000)  ' 背景颜色是个渐变色,差值不超过10万 超过则说明,到达要跳的物体顶部
跳出循环 ()
判断 (color = 16185078)  ' 白色石头
跳出循环 ()
判断 (color = 7435156)  ' 褐色石头
跳出循环 ()
判断 (color = 7434609)  ' 黑灰石头
跳出循环 ()
判断 (color = 7040912)
跳出循环 ()
判断 (color = 15856113)
跳出循环 ()
判断 (color = 6655572)
跳出循环 ()
判断 (color = 9291745)
跳出循环 ()



判断循环尾 ()
SelectObject (dc, 画笔句柄)  ' 把画笔载入
y = y + 20
Ellipse (dc, x - 5, y - 5, x + 5, y + 5)  ' 用画笔画空心圆
SelectObject (dc, 刷子句柄)  ' 更换成刷子
Ellipse (dc, x - 5, y - 5, x + 5, y + 5)  ' 用刷子画实心圆
DeleteObject (刷子句柄)
DeleteObject (画笔句柄)
马桶.x = x
马桶.y = y
输出调试文本 (“马桶颜色:”到文本 (color))
屁股定理 ()





可以看到“板凳”的Y轴从140开始的,因为通常“板登”都在棋子上方
找的“板凳”是“板凳”的最上面的一个点的坐标,并且画个实心圆,方便调试
找到的坐标也记录下来


棋子、板凳 坐标识别界面图如下





可以看到棋子的底部有个红色的实心圆显示找到的坐标
板凳上也有个绿色的实心圆显示坐标(板凳的绿色圆在板凳中间偏上是因为我识别的时候是识别到顶部的,然后我在代码中把板凳的Y轴+30个像素,因为要取板凳中间的坐标的算法还没想出来,比较麻烦,所以就只取了一个顶部的坐标,然后下移30个像素,像小板凳啥的30个刚好)


其实找板凳的颜色只有上面两个判断,后来分数多了,背景色不断变化,就有添加了一个固定的颜色


上面棋子和板凳的坐标找到了,那么进入“勾股定理”(其实我小学没毕业,早忘了这东西了,百度重学的)


计算棋子到板凳直线距离代码如下:


  
子程序名返回值类型公开备 注
屁股定理  
变量名类 型静态数组备 注
x整数型 宽度
y整数型 高度
平方双精度小数型  
时间整数型  
判断 (棋子.x > 马桶.x)  ' 如果马桶的x轴小于棋子的x轴,,也就是马桶在左边,我们要往左边跳
x = 棋子.x - 马桶.x

x = 马桶.x - 棋子.x  ' 往右跳

y = 棋子.y - 马桶.y  ' 取得高度
' 直角三角型的屁股定理
平方 = x × x + y × y
平方 = 求平方根 (平方)  ' 取得棋子到马桶的直线距离
平方 = 平方 × 到数值 (编辑框1.内容)  ' 计算要跳的时间(毫秒)
时间 = 到整数 (平方)
我要跳高 (时间)


上面求到直线距离为什么要*编辑框的微调呢?
1.大多手机屏幕分辨率不一样,得到的截图尺寸有大小
2.截图的图片加载到图片框是经过缩放的,而且是按比例缩放
3.一般我测试出的按压时间在200-900毫秒之间


也就是得到的直线距离是30的话,要按到300毫秒,那么微调为10
以我的手机和我设置的图片框尺寸,微调在4.8-5.0之间


最后把得到的按压时间传给下一子程序去执行手机按压


  
子程序名返回值类型公开备 注
我要跳高  
参数名类 型参考可空数组备 注
时间整数型   
变量名类 型静态数组备 注
a文本型  
如果真 (集开始 = )
返回 ()

运行 (“adb shell input swipe 251 255 380 395 ”到文本 (时间), 真, 1)
延迟 (2000)
那么我们就开始跳吧 ()


i支持库列表   支持库注释   
spec特殊功能支持库


运行的那段代码是让手机模拟滑动,从什么地方按住滑动到什么地方,最后一个就是滑动的时间(毫秒)


以上自动跳一跳就完了,测试不理想,就加了个手动档,这个简单


  
子程序名返回值类型公开备 注
_按钮手动档_被单击  
集开始 = 真
集手动 = 真
那么我们就开始跳吧 ()


按下手动档,取一次手机屏幕到图片框


  
子程序名返回值类型公开备 注
_图片框1_鼠标左键被按下逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型   
纵向位置整数型   
功能键状态整数型   
' dc = GetDC (0)
' 输出调试文本 (GetPixel (dc, 取鼠标水平位置 (), 取鼠标垂直位置 ()))
棋子.x = 取鼠标水平位置 ()
棋子.y = 取鼠标垂直位置 ()
子程序名返回值类型公开备 注
_图片框1_鼠标左键被放开逻辑型 
参数名类 型参考可空数组备 注
横向位置整数型   
纵向位置整数型   
功能键状态整数型   
马桶.x = 取鼠标水平位置 ()
马桶.y = 取鼠标垂直位置 ()
屁股定理 ()



鼠标在图片框的棋子下按下不放
到板凳的中心位置放开鼠标,就得到了棋子和板凳的坐标

再调用上面写完的“屁股定理()”

之后就是按鼠标,放鼠标了,不需要再按手动档按钮


注:手机开启USB调试和USB安全权限风险较高,请不要乱使用别人的程序!!!!!


附上源码,无模块,无病毒!


跳一跳.e (80.43 KB, 下载次数: 591)




补充内容 (2018-1-11 03:16):
@波哥野结衣 我的意思也是找色,本来背景色差值10万的,后来测试在78000最底,找色也不好找,棋子和板凳的距离过近,棋子会比板凳高,这样找出来的板凳顶点是棋子的顶点,也想过把所有的板凳顶点用固定值,但太麻烦

补充内容 (2018-1-11 03:20):
有人说ADB驱动安装不了,大家可以把数据线多插几次到电脑,我第一次安装手机ADB驱动也失败,重插数据线,它会自动安装,还有这里是和大家交流,大家都是文明人!!!

点评

背景虽然是渐变的,但每一行是同一个色值  发表于 2018-1-11 08:47

评分

参与人数 19好评 +17 精币 +49 收起 理由
ctw507 + 1 为何不行了?我链接了 可是一直跳,不跳过去 是什么情况
DDSGXQ + 1 + 2 支持开源~!感谢分享
yangyitzzg + 1 + 1 中心点在起始坐标与目的坐标的中心位置,找到起始点可求目标点
Laomao7 + 1 + 2 感谢分享,很给力!~
波哥野结衣 + 1 + 2 有点麻烦。背景可以匹配容差。从上到下找到第一个颜色就是起点。然后勾股定理就OK了。.
现代大虾 + 1 支持开源~!感谢分享
西蒙 + 1 + 2 支持开源~!感谢分享
污师 + 1 + 2 因为要用xp的原因,又重新降级回来了
傲娇土豆 + 1 这么厉害!必须给个红包鼓励下~
fnp902003 + 1 + 2 支持开源~!感谢分享
BBBl + 1 + 2 在此留名,以后多多交流哦~
薄荷草 + 1 + 1 感谢分享,很给力!~
峰生水起之林 + 1 + 1 支持开源~!感谢分享
铅笔刀 + 1 + 3 新技能已get√
大飛 + 1 + 5 有心了
一瓶矿泉水 + 1 + 2 难得有人分享图文教程了,赞一个
Decimal + 1 + 8 新技能已get√
林中道士 + 1 + 2 此处应该有鼓励~
胆小的老虎 + 1 + 10 感谢发布原创作品,精易因你更精彩!

查看全部评分


您可以选择打赏方式支持楼主

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏29 转播转播 分享分享 分享淘帖1 赞6 踩
结帖率:0% (0/1)
384
发表于 昨天 17:25 | 只看该作者
谢谢分享 学习一下
回复

使用道具 举报

结帖率:50% (1/2)
383
发表于 3 天前 | 只看该作者
思路不错 不过还有可以改进的地方
回复

使用道具 举报

382
发表于 4 天前 | 只看该作者
思路不错 不过还有可以改进的地方
回复

使用道具 举报

签到天数: 10 天

结帖率:60% (3/5)
381
发表于 6 天前 | 只看该作者
谢谢分享,学习学习
回复

使用道具 举报

380
发表于 6 天前 | 只看该作者
666666666666666666
回复

使用道具 举报

签到天数: 2 天

结帖率:84% (16/19)
379
发表于 6 天前 | 只看该作者
学习了 ,MARK一下。
回复

使用道具 举报

签到天数: 2 天

378
发表于 7 天前 | 只看该作者

谢谢分享,。下载下来学习学习
回复

使用道具 举报

377
发表于 7 天前 | 只看该作者
谢谢分享,。下载下来学习学习
回复

使用道具 举报

结帖率:67% (58/86)
376
发表于 7 天前 | 只看该作者
谢谢大神分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

快速回复 收藏帖子 返回列表

sitemap|易语言源码|易语言教程|易语言论坛|诚聘英才|易语言模块|Archiver|手机版|联系我们|精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.2 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125

快速回复 返回顶部 返回列表