由小游戏跳一跳想到的

元旦放假那天回家,一路上看到好多人都在玩那个游戏,感觉好巧啊,怎么都玩一个游戏。后来回到 家把微信更新了版本,赫然发发现了这个跳一跳的小游戏,玩了几次,最高玩到100多分,就没再玩了。

元旦回来上班,在地铁上无意中又打开了,就玩了几下。感觉好无聊,就删掉了。前天下午看到一个公众号推送消息说Python玩转跳一跳,于是下班后就详细看了看这个文章,写的真不错。于是晚上回家就装了一下环境,跑了起来,还刷了分数。

第二天,看了原理和源码。感觉好厉害,用adb可以对手机就行截图和触屏操作,而python又可以处理截图,识别其中的特征元素。两个组合起来不仅仅是玩转跳一跳这么简单了,有点像如虎添翼的感觉。基于这个思路,似乎玩转抢红包都是so easy的事情了。有空研究下微笑

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
跳一跳是一款非常流行的小游戏,下面是使用Python实现自动跳跃的方法: 1.首先,需要安装ADB工具,用于模拟手机屏幕操作。可以在终端中输入以下命令进行安装: ```shell sudo apt-get install android-tools-adb ``` 2.将手机连接到电脑上,并打开USB调试模式。 3.打开跳一跳游戏,并点击开始游戏。 4.使用ADB工具获取手机屏幕截图,并使用Pillow库进行图像处理,找到小人和下一个方块的位置。 ```python import os import time import numpy as np from PIL import Image import cv2 # 获取手机屏幕截图 os.system('adb shell screencap -p /sdcard/jump.png') os.system('adb pull /sdcard/jump.png .') # 打开截图并进行图像处理 img = cv2.imread('jump.png') img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(img_gray, 200, 255, cv2.THRESH_BINARY) contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 找到小人和下一个方块的位置 for i in range(len(contours)): x, y, w, h = cv2.boundingRect(contours[i]) if w > 50 and h > 50: if i == 0: x1, y1, w1, h1 = x, y, w, h else: x2, y2, w2, h2 = x, y, w, h ``` 5.计算小人和下一个方块的距离,并根据距离计算按压时间。 ```python # 计算小人和下一个方块的距离 distance = np.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2) # 根据距离计算按压时间 press_time = distance * 1.35 # 模拟按压操作 os.system('adb shell input swipe 320 410 320 410 {}'.format(int(press_time))) ``` 6.将以上代码保存为.py文件,并在终端中运行即可。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值