码迷,mamicode.com
首页 > 编程语言 > 详细

python 实现 跳一跳游戏 代码解析

时间:2018-01-02 17:52:25      阅读:759      评论:0      收藏:0      [点我收藏+]

标签:dex   global   shel   完成   str   size   can   .sh   date   

这个代码实现的是   手动点击起点 和 终点  ,程序自动判断距离、触屏时间  完成跳跃 

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from PIL import Image
import math
import time
import os

def pull_screenshot(): 定义 截取手机屏幕 并 发送到电脑函数 os.system(adb shell screencap -p /sdcard/autojump.png) 发送 截屏命令 到手机 os.system(adb pull /sdcard/autojump.png .) 发送 拉取图片到电脑 命令 def jump(distance): 定义 跳跃函数 形参为距离 press_time = distance * 1.35 计算按屏幕 时间 press_time = int(press_time) cmd = adb shell input swipe 320 410 320 410 + str(press_time) 按屏幕命令 print(cmd) os.system(cmd) 发送 按屏幕命令 fig = plt.figure() 自定义画布大小 的对象 index = 0 cor = [0, 0] pull_screenshot() 执行截屏函数 img = np.array(Image.open(autojump.png)) update = True click_count = 0 cor = [] def update_data(): return np.array(Image.open(autojump.png)) im = plt.imshow(img, animated=True) def updatefig(*args): global update if update: time.sleep(1.5) pull_screenshot() im.set_array(update_data()) update = False return im, def onClick(event): global update global ix, iy global click_count global cor # next screenshot ix, iy = event.xdata, event.ydata coords = [] coords.append((ix, iy)) print(now = , coords) cor.append(coords) click_count += 1 if click_count > 1: click_count = 0 cor1 = cor.pop() cor2 = cor.pop() distance = (cor1[0][0] - cor2[0][0])**2 + (cor1[0][1] - cor2[0][1])**2 distance = distance ** 0.5 print(distance = , distance) jump(distance) update = True fig.canvas.mpl_connect(button_press_event, onClick) ani = animation.FuncAnimation(fig, updatefig, interval=50, blit=True) plt.show()

 

python 实现 跳一跳游戏 代码解析

标签:dex   global   shel   完成   str   size   can   .sh   date   

原文地址:https://www.cnblogs.com/centos2017/p/8178215.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!