10行python代码实现自动打地鼠

先来看一下效果演示

打地鼠效果演示

脚本采用的是python中的pyautogui库来实现功能

详解Python中pyautogui库的最全使用方法:t.csdn.cn/XA0JK

PyAutoGUI是一个用于控制鼠标和键盘的Python模块,可以实现自动化测试、自动化操作等功能。下面是pyautogui库一些主要的功能:

  1. 控制鼠标和键盘:PyAutoGUI可以控制鼠标和键盘的移动、点击、拖放、按下、松开等操作。

  2. 屏幕截图与识别:PyAutoGUI可以截取屏幕上的任意区域,并能够通过图像识别技术来定位特定的图像或颜色。

  3. 执行命令和脚本:PyAutoGUI可以执行各种操作系统命令,并且可以运行Python脚本以完成更加复杂的任务。

  4. 延迟控制:PyAutoGUI提供了灵活的延迟控制,可以在不同的操作之间设定不同的延迟时间,使得程序执行更加准确可靠。

4399打地鼠小游戏链接:https://www.4399.com/flash/178030_3.htm

脚本源码压缩包下载:https://wwgt.lanzoum.com/i09XJ0ymtf9a

下面是脚本的全部代码

注意:

脚本运行后可能会出现无限循环 用户不能控制鼠标的情况

此时将鼠标移动到屏幕最左上角即可触发Fail-Safe机制。Fail-Safe是PyAutoGUI中的一个安全机制,当鼠标移动到屏幕的角落时,PyAutoGUI会立即触发Fail-Safe机制并抛出一个FailSafeException异常。从而使脚本停止运行。

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于Python+OpenCV实现的之人机交互打地源码+超详细注释+实验报告+演示视频.zip 实验报告 ### 实验类别 勇于创新类 ### 实验主题 其他 ### 实验内容 手势识别版打地 ![myImg](56600791D64D4136BEBE86266721E3A0) ### 实验动机 - 你可曾在回合制游戏里因为最后五秒标点不到技能而被本来赢不了的对面反杀? - 你可曾在国际跳棋里因为无法走棋而被系统警告“这是您第二次超时,超过三次超时,您将会被请出房间。请认真对待游戏”? - 你可曾有用触摸板划拉放在膝盖上的电脑,发现光标岿然不动;连上标,发现还不如触摸板好使的经历? 笔记本电脑有三大噩梦:频繁断触的无线标、毫无灵敏度可言的触摸板、总是飚红的内存加速球。 就前二者,我只能说:谢邀,深有体会。 我想“关键时刻掉链子”这个词应该是为无线标和触控板量身打造的。 虽然我已经通过更换设备基本解决了上述问题,但如何让光标随心而动依旧困扰着我。在学习人机交互内容后,我了解到到**手势识别**可以帮助我解决问题。 但新的问题又产生了。 在手势识别、无线标、触摸板都可用的情况下,如何定量比较它们的实际效率,以确定当下最好的使用效果呢? 在参考众多资料后,我决定制作一个支持手势识别的小游戏,通过不同交互方式对交互效果进合理判断、分析。 ### 设计思路 让不同的参与者使用不同的交互方式在指定时间内完成相同任务,通过比较分数或完成度以定量分析交互方式的优劣。 ### 实验设计 #### 实验目的 得到不同参与者使用不同交互方式在指定时间内完成打地小游戏的得分,进一步分析不同交互方式的优劣。 #### 实验过程 我的外婆、外公、爸爸、妈妈、姐姐和我六个人分别使用四种不同的交互方式各完成打地小游戏五次,并记录个人得分。最终,通过问卷调查收集参与反馈。 实验过程中用到的交互方式如下: 1. 有线标(使用半年的RAZER RZ01-0254) 2. 无线标(使用两年的INPHIC P-M1) 3. 电脑触摸板(ASUS VivoBook) 4. 手势识别 #### 原始用户数据 详见Data.xls。 #### 数据分析方法 使用数据分类+求平均值的方法对数据进简单处理。 #### 实验结论 交互效果:有线标>无线标>手势识别≈触摸板 #### 关键实验步骤实现简述 **手势识别**:通过识别手指的骨节点位置状态对不同的手势进判定,进而实现不同的光标操作。通过接触判定对动画地打击。 本实验中,主要利用Python语言调用mediapipe库,对**8号骨节点**(食指的顶部节点)和**12号骨节点**(中指的顶部节点)位置进判定,以确定移动光标和光标点击两个主要功能。 **实验进**: 让所有参与者根据操作说明,单独完成实验,并自记录数据。 **实验准备**: 为保障实验效果,对所有操作者都进了统一的有线标、无线标、触摸板、手势识别教学。 ### 结论 #### 总结 相比传统的交互方式,手势识别的表现中规中矩。优点在于不会断触失灵,但其使用体验仍有巨大的进步空间。 #### 局限性 ##### 实验局限性 - 在实验过程中,参与者的选取不够随机化,群体不够庞大,也没能很好地根据“人具有学习能力”这一特点设计出更合理的实验流程。 - 在实验材料方面,受制于现有设备,不同的自变量选取也不够严谨。 ##### 功能局限性 对于手势识别,其在灵敏度及识别效果方面仍然存在局限性。 【备注】 1、该资源内项目代码都经过测试运成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还,也可在此代码基础上进修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
好的,下面是一个简单的 Python 实现打地游戏的代码: ```python import random import time class WhacAMole: def __init__(self, num_holes): self.num_holes = num_holes self.holes = [0] * num_holes self.score = 0 def print_board(self): print("Score: {}".format(self.score)) for i in range(self.num_holes): if self.holes[i] == 0: print("|{}|".format(i+1), end="") else: print("|X|", end="") print() def add_mole(self): index = random.randint(0, self.num_holes-1) self.holes[index] = 1 def remove_mole(self, index): self.holes[index] = 0 def play(self): print("Welcome to Whac-A-Mole!") print("You have 30 seconds to whack as many moles as you can.") start_time = time.time() while time.time() - start_time < 30: self.print_board() index = input("Choose a hole to whack (1-{}): ".format(self.num_holes)) index = int(index) - 1 if self.holes[index] == 1: self.score += 1 self.remove_mole(index) else: print("Missed!") self.add_mole() time.sleep(1) print("Time's up! Final score: {}".format(self.score)) # 测试 game = WhacAMole(6) game.play() ``` 这个程序实现一个有 6 个洞的打地游戏。每隔一秒钟,程序会在随机的一个洞中出现一个地。玩家需要在 30 秒内尽可能多地击中地,每击中一个地就会得到一分,未击中则不得分。最终输出总分数。 在这个代码实现中,我们使用了 `time` 模块来计时,并使用 `random` 模块随机生成地出现的位置。玩家需要输入一个数字来选择击打的洞,如果该洞中有地,则得分,否则不得分。你可以尝试修改这个代码实现更多的功能,比如让游戏自动适应屏幕大小、增加更多的洞和地等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值