微信跳一跳小游戏python脚本教程,python入门小游戏之跳一跳,微信跳一跳小游戏python脚本

微信跳一跳小游戏python脚本教程,python入门小游戏之跳一跳,微信跳一跳小游戏python脚本

本文主要详细介绍了微信跳跳小程序的Python脚本,有一定的参考价值。感兴趣的朋友可以参考一下。

写Python的小游戏“Jump Jump”的运行脚本,分享给大家。

更新微信后发现了一个跳的小游戏,但是玩了一下午,最高分达到了200。每次差点破纪录的时候,手都抖,挂了,气得想砸手机。闲来无事刷微博的时候,刚看到有人分析怎么写脚本自动运行游戏,得分3000多分。仔细一看,觉得原理并不复杂,于是干脆花了一个晚上,参考大神的实现方法,在他的基础上截了一些代码,用Python写了一个脚本。接下来进行原理和代码分析。

图一。跳转到启动界面

原理

配置亚行环境变量,在我的电脑上添加adb.exe所在的路径-属性-高级系统设置-环境变量-》路径。

打开手机usb调试模式,连接电脑,开机跳转,然后通过adb工具得到当前手机的截图。具体说明如下:

亚行壳牌screencap -p /sdcard/1.png

adb pull /sdcard/1.png

程序中具体的代码实现如下:

def截图():

cmd=' ADB shell screen cap-p/SD card/1 . png '

操作系统(cmd)

cmd='adb pull /sdcard/1.png '

操作系统(cmd)

找到棋子的位置,通过颜色识别棋子,将棋子底盘线上所有点的X轴坐标相加,然后取平均值得到X轴坐标,从Y轴坐标的最低点减去棋子底盘高度的一半。具体代码实现如下:

#开始寻找棋子的坐标。从start_y可以看出,棋子不会位于屏幕的下1/3。

对于i in range(start_y,int(height * 2/3)):

对于in range (border _ x,width-border _ x): #删除周围的空白以加快程序速度。

next_point=im[j,i]

#根据棋子颜色判断,将所有点数相加,然后平均。

if(50 next _ point[0]60)and(53 next _ point[1]63)and(95 next _ point[2]110):

X1_temp=j #点总和

X1 _ num=点的数量

y1_max=max(i,y1_max)

如果不是全部((x1_temp,x1_num)):

返回0,0,0,0

x1=x1 _温度/x1 _数量

Y1=y1_max-piece_height/2 #棋子在Y轴坐标上移动到底盘高度的一半。

寻找下一个棋盘的位置一般可以通过两种方法来实现。首先是通过鼠标点击下一个棋盘的位置,具体可参考编程美女写的博客。

本文使用第二种。从上到下逐行扫描,找到方块中点的X轴坐标,然后通过截图中两个特定棋盘得到的固定角度,即正切值,推导出中点的Y轴坐标。具体代码如下:

#找到下一个棋盘的位置

对于范围内的I(start _ y,height * 2/3):

start_point=im[0,i]

如果x2或y2:

破裂

x2_temp=0

x2_num=0

对于范围内的j(宽度):

next_point=im[j,i]

如果abs(j - x1)车身宽度:

继续

#棋盘是一个圆

if ABS(next _ point[0]-start _ point[0])ABS(next _ point[1]-start _ point[1])ABS(next _ point[2]-start _ point[2])10:

x2_temp=j

x2_num=1

如果x2_temp:

x2=x2 _温度/x2 _数量

#通过tan值根据实际角度计算下一个棋盘中心点的Y轴坐标。

y2=y1 - abs(x2 - x1) * abs(样本_y1 -样本_y2)/abs(样本_x1 -样本_x2)

如果不是全部((x2,y2)):

返回0,0,0,0

根据棋子的位置和下一个棋盘的位置,得到两个点的细节,计算长按时间。具体代码如下:

#跳到下一个棋盘

定义跳跃(距离):

压力时间=距离*压力

Press _ time=max (press _ time,200) #设置最短按压时间位200ms

press_time=int(press_time)

cmd='adb shell输入刷卡{} {} {} {} {} '。格式(swipe_x1,swipe_y1,swipe_x2,swipe_y2,press_time)

打印(cmd)

操作系统(cmd)

结果展示

通过运行该脚本,可以轻松得分到400,但是由于时间原因测试没有继续进行。下图显示了测试过程中的动态gif和控制台窗口的运行结果。

图二。真实机器运行

图3。控制台输出信息

下载链接:跳转python脚本

有关更多信息,请参考主题《微信跳一跳》。

这就是本文的全部内容。希望对大家的学习有帮助,支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: