手机网站首页怎么做教育类网站 前置审批

pingmian/2025/10/8 2:35:36/文章来源:
手机网站首页怎么做,教育类网站 前置审批,PHP+Ajax网站开发典型实例,网上学电脑培训中心#-*- coding: utf-8 -*- 思路 核心#xff1a;每次落稳之后截图#xff0c;根据截图算出棋子的坐标和下一个块顶面的中点坐标#xff0c;根据两个点的距离乘以一个时间系数获得长按的时间识别棋子#xff1a;靠棋子的颜色来识别位置#xff0c;通过截图…#-*- coding: utf-8 -*- 思路 核心每次落稳之后截图根据截图算出棋子的坐标和下一个块顶面的中点坐标根据两个点的距离乘以一个时间系数获得长按的时间识别棋子靠棋子的颜色来识别位置通过截图发现最下面一行大概是一条直线就从上往下一行一行遍历比较颜色(颜色用了一个区间来比较)找到最下面的那一行的所有点然后求个中点求好之后再让 Y 轴坐标减小棋子底盘的一半高度从而得到中心点的坐标识别棋盘靠底色和方块的色差来做从分数之下的位置开始一行一行扫描由于圆形的块最顶上是一条线方形的上面大概是一个点所以就用类似识别棋子的做法多识别了几个点求中点这时候得到了块中点的 X轴坐标这时候假设现在棋子在当前块的中心根据一个通过截图获取的固定的角度来推出中点的 Y 坐标最后根据两点的坐标算距离乘以系数来获取长按时间(似乎可以直接用 X 轴距离)from __future__ importprint_function, divisionimportosimportsysimporttimeimportmathimportrandomfrom PIL importImageimportsubprocess#分数y坐标under_game_score_y 300#长按的时间系数请自己根据实际情况调节press_coefficient 1.392#二分之一的棋子底座高度可能要调节piece_base_height_1_2 20#棋子的宽度比截图中量到的稍微大一点比较安全可能要调节piece_body_width 70defset_button_position(im):将 swipe 设置为 再来一局 按钮的位置globalswipe_x1, swipe_y1, swipe_x2, swipe_y2w, him.sizeleft int(w / 2)top int(1584 * (h / 1920.0))left int(random.uniform(left-50, left50))top int(random.uniform(top-10, top10)) #随机防 banswipe_x1, swipe_y1, swipe_x2, swipe_y2 left, top, left, topdefjump(distance):跳跃一定的距离press_time distance *press_coefficientpress_time max(press_time, 200) #设置 200ms 是最小的按压时间press_time int(press_time)cmd adb shell input swipe {x1} {y1} {x2} {y2} {duration}.format(x1swipe_x1,y1swipe_y1,x2swipe_x2,y2swipe_y2,durationpress_time)print(cmd)os.system(cmd)returnpress_timedeffind_piece_and_board(im):寻找关键坐标w, him.sizepiece_x_sum0piece_x_c0piece_y_max0board_x0board_y0scan_x_border int(w / 8) #扫描棋子时的左右边界scan_start_y 0 #扫描的起始 y 坐标im_pixel im.load()#以 50px 步长尝试探测 scan_start_yfor i in range(int(h / 3), int(h*2 / 3), 50):last_pixelim_pixel[0, i]for j in range(1, w):pixelim_pixel[j, i]#不是纯色的线则记录 scan_start_y 的值准备跳出循环if pixel !last_pixel:scan_start_y i - 50breakifscan_start_y:breakprint(scan_start_y: {}.format(scan_start_y))#从 scan_start_y 开始往下扫描棋子应位于屏幕上半部分这里暂定不超过 2/3for i in range(scan_start_y, int(h * 2 / 3)):#横坐标方面也减少了一部分扫描开销for j in range(scan_x_border, w -scan_x_border):pixelim_pixel[j, i]#根据棋子的最低行的颜色判断找最后一行那些点的平均值这个颜#色这样应该 OK暂时不提出来if (50 pixel[0] 60) \and (53 pixel[1] 63) \and (95 pixel[2] 110):piece_x_sumjpiece_x_c 1piece_y_maxmax(i, piece_y_max)if notall((piece_x_sum, piece_x_c)):return0, 0, 0, 0piece_x int(piece_x_sum /piece_x_c)piece_y piece_y_max - piece_base_height_1_2 #上移棋子底盘高度的一半#限制棋盘扫描的横坐标避免音符 bugif piece_x w/2:board_x_startpiece_xboard_x_endwelse:board_x_start0board_x_endpiece_xfor i in range(int(h / 3), int(h * 2 / 3)):last_pixelim_pixel[0, i]if board_x orboard_y:breakboard_x_sum0board_x_c0for j inrange(int(board_x_start), int(board_x_end)):pixelim_pixel[j, i]#修掉脑袋比下一个小格子还高的情况的 bugif abs(j - piece_x) #修掉圆顶的时候一条线导致的小 bug这个颜色判断应该 OK暂时不提出来if abs(pixel[0] -last_pixel[0]) \ abs(pixel[1] - last_pixel[1]) \ abs(pixel[2] - last_pixel[2]) 10:board_x_sumjboard_x_c 1ifboard_x_sum:board_x board_x_sum /board_x_clast_pixelim_pixel[board_x, i]#从上顶点往下 274 的位置开始向上找颜色与上顶点一样的点为下顶点#该方法对所有纯色平面和部分非纯色平面有效对高尔夫草坪面、木纹桌面、#药瓶和非菱形的碟机(好像是)会判断错误for k in range(i274, i, -1): #274 取开局时最大的方块的上下顶点距离pixel im_pixel[board_x, k]if abs(pixel[0] -last_pixel[0]) \ abs(pixel[1] - last_pixel[1]) \ abs(pixel[2] - last_pixel[2]) 10:breakboard_y int((ik) / 2)#如果上一跳命中中间则下个目标中心会出现 r245 g245 b245 的点利用这个#属性弥补上一段代码可能存在的判断错误#若上一跳由于某种原因没有跳到正中间而下一跳恰好有无法正确识别花纹则有#可能游戏失败由于花纹面积通常比较大失败概率较低for j in range(i, i200):pixelim_pixel[board_x, j]if abs(pixel[0] - 245) abs(pixel[1] - 245) abs(pixel[2] - 245) 0:board_y j 10breakif notall((board_x, board_y)):return0, 0, 0, 0returnpiece_x, piece_y, board_x, board_ydefpull_screenshot():os.system(adb shell screencap -p /sdcard/1.png)os.system(adb pull /sdcard/1.png .)defcheck_screenshot():#检查获取截图的方式if os.path.isfile(1.png):os.remove(1.png)pull_screenshot()Image.open(./1.png).load()defmain():check_screenshot()i, next_rest, next_rest_time (0, random.randrange(3, 10),random.randrange(5, 10))whileTrue:pull_screenshot()im Image.open(./1.png)#获取棋子和 board 的位置piece_x, piece_y, board_x, board_y find_piece_and_board(im)tsint(time.time())print(ts, piece_x, piece_y, board_x, board_y)set_button_position(im)jump(math.sqrt((board_x- piece_x) ** 2 (board_y - piece_y) ** 2))im.close()i 1if i next_rest:print(已经连续打了 {} 下休息 {}s.format(i, next_rest_time))for j inrange(next_rest_time):sys.stdout.write(\r程序将在 {}s 后继续.format(next_rest_time -j))sys.stdout.flush()time.sleep(1)print(\n继续)i, next_rest, next_rest_time (0, random.randrange(30, 100),random.randrange(10, 60))#为了保证截图的时候应落稳了多延迟一会儿随机值防 bantime.sleep(random.uniform(0.9, 1.2))if __name__ __main__:main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网页制作培训网站辽宁注册公司网站

当玩家或用户在启动某些游戏和应用程序时,可能会遭遇到一个系统错误提示:“由于找不到xinput1_3.dll,无法继续执行代码l”。这种情况通常指出系统中DirectX组件存在问题。以下我们将介绍几种常用的解决方法,并提供详细的操作步骤。 一.找不到…

合肥专业做淘宝网站建设wordpress 下拉菜单插件

Spring 是线程安全的,支持多线程并发调用。但在某种特殊情况下,使用 BeanFactory 的 getBean 方法,我成功拿到了未经初始化的 Bean(是BUG,亦或是出于某种原因考虑的特性?)。 一、获取到的 Bean 为什么未初始化? 通过 getBean 获取到未经过初始化的 Bean 需要满足如下…

福州网站建设招商娄底企业网站建设公司

索引的设计原则 索引覆盖是什么: 索引(在MySQL中也叫做“键(key)”) 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引…

在线免费视频网站推广平面广告设计用什么软件

学习目的: (1) 熟悉SPI接口和它的读写时序; (2) 复习Verilog仿真语句中的$readmemb命令和$display命令; (3) 掌握SPI接口写时序操作的硬件语言描述流程(本例仅…

python 做网站开发吗做网站如何选择数据源

出现原因: 此处的offset的值表示的是盒子模型经过计算后的实际偏移量,通常是margin及定位偏移量之和(flex布局导致的偏移也会计算在内)。在此处也无需消除。 解决办法: 父元素设置宽高。设置margin为负数&#xff0…

做租房信息网站淘宝怎么优化关键词排名

区别: 1,Resource(JSR-250标准注解,推荐使用它来代替Spring专有的Autowired注解) 2,Spring 不但支持自己定义的Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是Resourc…

广西建设厅考试网站博客网站开发报告文库

OpenCV7-copyTo截取ROI copyTo截取感兴趣区域 copyTo截取感兴趣区域 有时候,我们只对一幅图像中的部分区域感兴趣,而原图像又十分大,如果带着非感兴趣区域一次处理,就会对程序的内存造成负担,因此我们希望从原始图像中…

两学一做学习网站更多标签的适用场景

如果你的操作系统是 Windows,而你想要连接 Linux 服务器相互传送文件,那么你需要一个简称 SSH 的 Secure Shell 软件。实际上,SSH 是一个网络协议,它允许你通过网络连接到 Linux 和 Unix 服务器。SSH 使用公钥加密来认证远程的计算…

代理注册seo是什么职业

问题描述   JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数据。JSON 格式中的基本单元是值 (value),出于简化的目的本题只涉及 2 种类型的值:   * 字符串 (string):字符串是由双引号…

山西省建设执业资格注册中心网站软件制作公司排名

1.介绍和基础操作 Python中的元组(Tuple)是不可变有序序列,可以容纳任意数据类型(包括数字、字符串、布尔型、列表、字典等)的元素,通常用圆括号() 包裹。与列表(List)类似&#xff…

专业网站设计服务在线咨询义乌企业网站

FROM : http://blog.ityao.com/archives/581 如果想用Flash/Flex监听浏览器的关闭事件,可以通过JavaScript的window.onbeforeunload事件进行监听然后JS调用Flash中的函数。在swf所在页面的JavaScript中添加如下代码JS中代码:(这里设定swf文件…

破解网站后台账号密码上海做网站的公司多少钱

也许有些人是学C出身,对于Java几乎不了解。一时心血来潮想学学android开发,于是下载了Eclipse,安装了SDK,有模有样的学习起来。也许是懒惰了,对于java一直总是提不起精神。于是确定使用DreamweaverJquery mobilePhoneg…

比较好的公文写作网站wordpress菜单怎么添加次级菜单

函数的三种调用方式:1、函数作为表达式中的一项出现在表达式中,例“zmax(x,y)”;2、函数作为一个单独的语句,例“printf("%d",a)”;3、函数作为调用另一个函数时的实参,例“printf("%d"…

专门做pp他的网站WordPress十大免费CMS主题

矩阵键盘 矩阵键盘是一种常用于电子设备中的输入设备,其原理是利用行和列的交叉点来识别按键输入。矩阵键盘通常由多个按键排列成行和列的形式组成,通过按下某个按键可以在对应的行和列交叉点上产生电路连接。 在矩阵键盘中,每个按键都被安排…

网站建设需要学代码吗企业网站建设规划方案

#Dubbo# 文章内容 Dubbo服务导出基本原理分析Dubbo服务注册流程源码分析Dubbo服务暴露流程源码分析服务导出的入口方法为ServiceBean.export(),此方法会调用ServiceConfig.export()方法,进行真正的服务导出。 1. 服务导出大概原理 服务导出的入口方法为ServiceBean.export…

如何自己做购物网站免费建站平台

文章目录1. 题目2. 解题1. 题目 现在,我们用一些方块来堆砌一个金字塔。 每个方块用仅包含一个字母的字符串表示。 使用三元组表示金字塔的堆砌规则如下: 对于三元组(A, B, C) ,“C”为顶层方块,方块“A”、“B”分别作为方块“…

网站排名top排行榜快速开发平台免费版

文章目录1. 题目2. 解题1. 题目 给你一个下标从 0 开始的整数数组 tasks ,其中 tasks[i] 表示任务的难度级别。 在每一轮中,你可以完成 2 个或者 3 个 相同难度级别 的任务。 返回完成所有任务需要的 最少 轮数,如果无法完成所有任务&…

温州网站建设优化做国外购物网站

踩坑描述:在学习 hadoop 的时候使用hadoop 下的 mapreduce,却发现没有 mapreduce。 第一反应就是去看看 maven 的路径对不对 settings——》搜索框搜索 maven 检查一下 Maven 路径对不对 OK 这里是对的 那么是不是依赖下载失败导致 mapreduce 没下下…

网站建设信用卡取消wordpress处理大数据

在使用互联网时我们常常听到cookie这个词,那到底什么是cookie呢? Cookie是某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息客户端向服务器发起请求&…

网站设计弹窗河南重大项目建设网站

AWS是全球最常用的云服务之一。 Gartner Magic Quadrant将AWS评为最大的IaaS提供商。每个可能的域都由企业使用AWS服务。 全球约有 1,000,000家公司正在使用AWS作为其IaaS提供商。从Netflix到Unilever再到Met Office,每个人都转移到AWS上的云基础架构。既然您正在阅…