Python跳一跳小游戏
一:准备工具
adb 驱动 下载链接:http://adbshell.com/upload/adb.zip
安卓手机
打开手机调试模式
usb线接好手机和电脑
PyCharm:专门用于Python开发的IDE工具
实现原理
- 获取手机的实时的截图
- 点击起始位置和落地位置
- 计算两个点的距离
- 计算按压时间
- 发送按压指令
- 重新刷新手机截图
1.安装此次程序所用到的模块(根据自己安装的Windows版本和python版本进行下载)。
numpy-1.14.0rc1-cp36-none-win_amd64.whl
Pillow-5.0.0-cp36-cp36m-win_amd64.whl
matplotlib-2.1.1-cp36-cp36m-win_amd64.whl
下载链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/
使用cmd进入下载好的文件的目录,安装指令:(opencv是最后安装的)
pip3.6 install C:\python36\Scripts\numpy-1.14.0rc1-cp36-none-win_amd64.whl
pip3.6 install C:\python36\Scripts\Pillow-5.0.0-cp36-cp36m-win_amd64.whl
pip3.6 install C:\python36\Scripts\matplotlib-2.1.1-cp36-cp36m-win_amd64.whl
- 2.结果
3.代码部分
# !/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'wechat'
import os
import PIL,numpy
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import time need_update = True def get_screen_image():
os.system('adb shell screencap -p /sdcard/screen.png')#获取当前界面的手机截图
os.system('adb pull /sdcard/screen.png')#下载当前这个截图到当前电脑当前文件夹下
return numpy.array(PIL.Image.open('screen.png')) def jump_to_next(point1, point2):#计算炫的长度
x1, y1 = point1; x2, y2 = point2
distance = ((x2-x1)**2 + (y2-y1)**2)**0.5
os.system('adb shell input swipe 320 410 320 410 {}'.format(int(distance*1.35))) def on_calck(event, coor=[]):#绑定的鼠标单击事件
global need_update
coor.append((event.xdata, event.ydata))
if len(coor) == 2:
jump_to_next(coor.pop(), coor.pop())
need_update = True def update_screen(frame):#更新图片 /从画图片
global need_update
if need_update:
time.sleep(1)
axes_image.set_array(get_screen_image())
need_update = False
return axes_image, figure = plt.figure()#创建一个空白的图片对象/创建一张图片
axes_image = plt.imshow(get_screen_image(), animated=True)#把获取的图片话在坐标轴上面
figure.canvas.mpl_connect('button_press_event', on_calck)
ani = FuncAnimation(figure, update_screen, interval=50, blit=True)
plt.show()
Python跳一跳小游戏的更多相关文章
- 用C#实现微信“跳一跳”小游戏的自动跳跃助手
一.前言: 前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“打飞机”游戏,这游戏玩法简单,但加上了积分排名功能后,却成了“装逼”的地方,于是很多人花钱花时 ...
- Python开发转盘小游戏
Python开发转盘小游戏 Python 一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...
- charles刷分微信跳一跳小程序对https的理解
以前以为只要安装了https 客户端与服务端的数据会被加密就安全了 事实上 只要任意一款抓包工具 并伪造证书 就可以解密这个被所谓https加密的数据 如 可以下载charles的根证书 作为伪 ...
- 用Python实现童年小游戏贪吃蛇
贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中.
- 教你用Python自制拼图小游戏,一起来制作吧
摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...
- python 小鸡飞行小游戏
python 小鸡飞行小游戏 用空格键控制小鸡飞行 代码 import pygame.freetype import sys import random pygame.init() screen = ...
- python跳一跳辅助学习
微信跳一跳辅助工具 准备工具 adb驱动 安卓手机 打开手机的调试模式 usb接好手机和电脑 PyCharm:全宇宙唯一一款专门用于Python开发IDE工具 实现原理: 获取手机的实时的截图 点击起 ...
- 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词
一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...
- python 面向对象编程 - 小游戏
面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...
- 上班无聊,自己用python做个小游戏来打发时间
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...
随机推荐
- 「SOL」行列式 (模拟赛)
1. 题面 有一个大小为 \(n\) (\(n\le10^6\))的方阵 \(A\),给定 \(d_1,d_2,d_3,\dots,d_n\),\((p_2,b_2,c_2),(p_3,b_3,c_3 ...
- 莫凡Python 3
莫凡Python 3 新建模板小书匠 CNN 卷积神经网络 参考资料 https://morvanzhou.github.io/tutorials/machine-learning/keras/2-3 ...
- KingbaseES V8R3集群运维案例之---kingbase_monitor.sh启动”two master“案例
案例说明: KingbaseES V8R3集群,执行kingbase_monitor.sh启动集群,出现"two master"节点的故障,启动集群失败:通过手工sys_ctl启动 ...
- Python后端基础知识总结
1.所谓可变类型与不可变类型是指:是否可以在不改变原来数据的引用地址基础上,去修改数据.如果能直接修改那么就是可变,否则是不可变 不可变对象:该对象所指向的内存中的值不能被改变.当改变某个变量时候,由 ...
- 用telnet远程连接linux系统
环境,centos7.6 通过telnet进行远程登录的方法如下: 1.安装telnet,telnet-server,xinetd 检测是否安装telnet rpm -qa | grep telnet ...
- c语言动态库与静态库
// show.h #ifndef __SHOW_H_ #define __SHOW_H_ #include <stdio.h> #include "math.h" v ...
- VIM的撤销与恢复设置行数
vim撤销操作:u vim恢复操作:ctrl+r 设置行数: :set nu
- java中post推送json格式字符串
最近项目中遇到post推送json格式字符串,之前写过推送json数据,调用失败,才发现是直接推送字符串,只不过字符串是json的格式. 在postman中调用如下: Java中代码如下: /** * ...
- CocosCreator基于jenkins自动构建
1.新建Item,输入名称后选择Freestyle project后点击确定 2.配置项目,自定义工作目录 3.配置源码管理和要摘取的分支 4.构建触发器选择github触发 5.构建选择执行wind ...
- 用户警告:“importlib-metadata”版本与“setuptools”不兼容。升级importlib-metadata
Warning: `importlib-metadata` version is incompatible with `setuptools` 解决方案:升级 importlib-metadata 版 ...