b2c信息网

您现在的位置是:首页 > 明日新闻 > 正文

明日新闻

跳一跳的python源码(跳一跳python脚本)

hacker2022-06-08 15:51:18明日新闻97
本文目录一览:1、1、创建一个python的文件,运行后,文字版方式模拟微信游戏“跳一跳?

本文目录一览:

1、 创建一个python的文件,运行后,文字版方式模拟微信游戏“跳一跳?

文字怎么模拟?你怎么模拟鼠标按下去的时间啊?

只能用GUI,文字的话Python无法识别鼠标按下,GUI才行。

您仔细说一下您的思路和想法,可以为您写代码

python写跳一跳有多难

不难哦

下载第三方库通过连接usb实现捕获屏幕和模拟点击的功能(安卓的adb库,苹果无能为力哦)

再实现对内容的分析功能,即程序找出方框的中心点(方框对角线交点,圆形外切矩形对角线交点)

然后在实现模拟点击,注意延迟要反复调试,直到保证每一次都能落到中心点上就大功告成了哦

关于Python玩“跳一跳” iOS+Win 硬件实现的介绍?

原项目地址:wangshub/wechat_jump_game

教你用Python来玩微信跳一跳

本项目源码:yangyiLTS/wechat_jump_game_iOS

目前已有的iOS跳一跳辅助需要macOS环境下的WebDriverAgentRunner。而现在介绍的方法在Windows环境下物理实现,不需要macOS也不需要越狱。

先上效果

运行环境工具

Python 3.6 in Windows

Python Pillow库

局域网环境

iToools Airplayer

树莓派或arduino (本文使用树莓派)

SG90 舵机

杜邦线、纸板

一小块海绵

橙子或其它多汁水果(可选)

基本思路使用iOS自带Airplay服务将游戏画面投影到电脑上。使用Pillow库截取电脑屏幕,获得游戏画面。分析图片,计算出跳跃距离,乘以时间系数获得按压时间。将按压时间发送至树莓派,树莓派控制舵机点击手机屏幕。原理步骤

舵机 控制器部分

树莓派(OS:Raspbian Jessie)连接上局域网,下载servo_control.py到树莓派。拿一根杜邦线粘在舵机的摆臂上,并且固定好舵机在纸板上,如图:

取一小块海绵,约10mm*10mm*5mm,不必太精确。海绵中间挖一个小洞。大概是这样:

海绵上滴水浸透,放在手机屏幕上“再来一次”的位置。杜邦线的另一头插进橙子。(触发电容屏需要在屏幕上形成一个电场,我尝试过连接干电池负极的方案,但是效果不理想,最后不得已拿了室友的一个橙子。当然,一直捏着或者含着导线也是可以的。)

舵机连接上树莓派,电源使用5v(Pin #04,Pin #06),舵机控制线接在GPIO18(Pin #12)。

需要根据实际安装位置调整舵机高点和低点位置(范围: 2.5~12.5)

servo_down = 3.8 servo_up = 5

最终效果

Windows 部分

下载Airplayer(免安装,暂无捆绑)

配置Airplayer,画质什么的统统调到最高。启动iPhone上的Airplay,然后可以在电脑上看到iPhone画面,游戏运行时需要Airplayer全屏显示。

安装Pillow库,本文使用Pillow库的ImageGrab截屏,截屏代码:

im = ImageGrab.grab((654, 0, 1264, 1080)) im.save('a.png', 'png')

下载wechat_jump_auto_iOS_Win.py,我的显示器分辨率是1920*1080,手机是iPhone7。如果使用不同的设备需要更改时间系数等参数。

由于Airplay传输画面时会压缩,获取的游戏画面会有颜色偏差。我修改了原算法的一些参数,增大了颜色上的宽容度,在测试中已经达到一个比较好的准确率。

wechat_jump_auto_iOS_Win.py 计算出跳跃距离后,会调用socket库把跳跃时间发送到树莓派上,其中ip地址需要修改为实际树莓派的ip地址。

ip_addr = 'rasp_ip'

运行打开游戏画面,Airplayer窗口全屏树莓派上运行servo_control.py ,监听9999端口,等待Win的计算结果Windows运行wechat_jump_auto_iOS_Win.py海绵放在“再来一次”的位置可以自动重新开始,然后就会一直自动刷分问题其它

由于是物理点击屏幕,会产生一定的操作误差。操作误差由时间常数误差、舵机运动时间、杜邦线触点插进海绵的深度等等因素引起。而当前使用的算法在一种情况下会出现误差叠加的问题。

Z形路径误差累积过程

舵机的摆动角度和时间系数没有绝对的数值,需要慢慢尝试,当前使用的时间系数是2.43。

可以使用arduino + pyfirmata组合控制舵机,成本比较低,不需要网络传输计算结果。因为我的arduino前些天送给了女票,所以还没有使用arduino的方案。

这个游戏在跳了200+次之后方块会变的非常小(如题图),已经不是普通人类所能做到的。研究了外挂之后才知道手玩高分有多难,大家还是不要刷分了,会没朋友的。

Python源码是什么意思?

源代码是指原始代码,可以是任何语言代码。Python源码就是指编写的最原始程序的代码。运行的软件是要经过编写的,程序员编写程序的过程中需要他们的“语言”。

发表评论

评论列表

  • 性许闻呓(2022-06-09 00:43:43)回复取消回复

    普通人类所能做到的。研究了外挂之后才知道手玩高分有多难,大家还是不要刷分了,会没朋友的。Python源码是什么意思?源代码是指原始代码,可以是任何语言代码。Python源码就是指编写的最原始程序的代码。运行的软件是

  • 痴者未芩(2022-06-08 17:36:34)回复取消回复

    ,苹果无能为力哦)再实现对内容的分析功能,即程序找出方框的中心点(方框对角线交点,圆形外切矩形对角线交点)然后在实现模拟点击,注意延迟要反复调试,直到保证每一次都能落到中心点上就大功

  • 可难南简(2022-06-08 22:34:36)回复取消回复

    。这个游戏在跳了200+次之后方块会变的非常小(如题图),已经不是普通人类所能做到的。研究了外挂之后才知道手玩高分有多难,大家还是不要刷分了,会没朋友的。Pyt

  • 拥嬉俗欲(2022-06-09 01:58:37)回复取消回复

    *5mm,不必太精确。海绵中间挖一个小洞。大概是这样:海绵上滴水浸透,放在手机屏幕上“再来一次”的位置。杜邦线的另一头插进橙子。(触发电容屏需要在屏幕上形成一个电场,我尝试过连接干电池负极的方案,但是效果不理想,最后不得已拿了