一:准备工具

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跳一跳小游戏的更多相关文章

  1. 用C#实现微信“跳一跳”小游戏的自动跳跃助手

    一.前言: 前段时间微信更新了新版本后,带来的一款H5小游戏“跳一跳”在各朋友圈里又火了起来,类似以前的“打飞机”游戏,这游戏玩法简单,但加上了积分排名功能后,却成了“装逼”的地方,于是很多人花钱花时 ...

  2. Python开发转盘小游戏

    Python开发转盘小游戏 Python  一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...

  3. charles刷分微信跳一跳小程序对https的理解

    以前以为只要安装了https 客户端与服务端的数据会被加密就安全了 事实上 只要任意一款抓包工具 并伪造证书  就可以解密这个被所谓https加密的数据 如  可以下载charles的根证书  作为伪 ...

  4. 用Python实现童年小游戏贪吃蛇

    贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中.

  5. 教你用Python自制拼图小游戏,一起来制作吧

    摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...

  6. python 小鸡飞行小游戏

    python 小鸡飞行小游戏 用空格键控制小鸡飞行 代码 import pygame.freetype import sys import random pygame.init() screen = ...

  7. python跳一跳辅助学习

    微信跳一跳辅助工具 准备工具 adb驱动 安卓手机 打开手机的调试模式 usb接好手机和电脑 PyCharm:全宇宙唯一一款专门用于Python开发IDE工具 实现原理: 获取手机的实时的截图 点击起 ...

  8. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  9. python 面向对象编程 - 小游戏

    面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...

  10. 上班无聊,自己用python做个小游戏来打发时间

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

随机推荐

  1. C#连Mysql数据库报错 SSL Connection error

    MySql.Data.MySqlClient.MySqlException (0x80004005): SSL Connection error. ---> System.AggregateEx ...

  2. Java语言中的复合运算符会自动进行类型转换

    计算1/1-1/2+1/3+--+1/99-1/100 public class LoopControlExercise08{ public static void main(String[] arg ...

  3. 若依分离版本+Nginx+docker+jenkins 部署

    准备: jenkins node.js 若依前后分离 docker 最终访问地址: 服务端api地址:192.168.66.74:8086 前端页面地址:192.168.66.61:7001 jenk ...

  4. [转并修改]C#编程中跨线程访问控件

    C#编程中跨线程访问控件 一.简述 二.Winforms中跨线程访问控件 三.WPF中跨线程访问控件 参考文档 一.简述 C#中不允许跨线程直接访问界面控件,即一个线程中如主线程创建的控件不允许被其他 ...

  5. vue 中 表单数据为数组,v-for 循环表单数据

    element-ui 中,表单数据一般为对象,但是也有是数组的情况,比如上面图示:账号和密码可以是多个,点击添加会增加一条,点击删除会删除一条 表单数据为 form:{ accounts:[ { ac ...

  6. 【笔记】BootstrapTable带参数刷新数据的坑

    $(<表选择器>).bootstrapTable('refresh', { query: { param1: a, param2: b } ); bootstrapTable中queryP ...

  7. Linux上面配置Apache2支持Https(ssl)具体方案实现

    虽然Nginx比较流行,但是由于一些老项目用到了Apache2来支持Web服务,最近想给服务上一个Https支持,虽然看似教程简单,但是也遇到一些特殊情况,经历了一番折腾也算是解决了所有问题,将过程记 ...

  8. BUUCTF-[GXYCTF2019]Ping Ping Ping

    一道命令执行题目    一.基础知识  Linux shell特殊字符(参考链接) [;]作为多个命令语句的分隔符(Command separator [semicolon]). 要在一个语句里面执行 ...

  9. ls access.log.?.gz

    因为日志文件每天都会打包, 所以昨天的问题可能就在今天的access.log/error.log文件里找不到了.如何找出个位数的log文件呢? 这里就有两种不同的匹配符号, *匹配多个, ?匹配一个, ...

  10. 输入流导致javax.crypto.BadPaddingException

    使用FileInputStream一切正常,切换为使用classpath从jar包读取getResourceAsStream一直报如下错误 javax.crypto.BadPaddingExcepti ...