小猿口算炸鱼脚本

目录

写在前面:

一、关于小猿口算:

二、代码逻辑

1.数字识别

2.答题部分

三、代码分享:

补充:软件包下载

写在前面:

最近小猿口算已经被不少大学生攻占,小学生直呼有挂。原本是以为大学生都打着本科一年级也是一年级,研一也是一年级,博一也是一年级的口号,凭借自己实力去欺负小学生呢。没曾想竟然是大学生通过脚本刷题。

一个好好的给小学生的口算题已经变成了大学生的计算机大战,比谁的脚本刷题速度更快了(这里偷偷怀疑一下,是不是清华的老师给他的学生们布置了一项作业:比谁的脚本刷题刷的快了)

小猿口算已经连夜招聘网络安全工程师了:

这里也分享一个小编的脚本,质量很差,甚至还没自己做的快呢,不过可以用来自己练手或者自己跑着玩儿,也算是顺应时代潮流。

最后,欺负小学生这种事情,还是不推荐干的。

一、关于小猿口算:

主页就长这样,也没啥好介绍的,今天的主角是“口算PK”里的“20以内的数字比大小”,比赛规则啥的,大家应该看名称就能才出来。我这里是为了方便运行脚本,是在电脑MuMu模拟器上运行的小猿口算:

至于比赛过程,则是给两个数字,可以通过画大于号小于号来进行答题:

二、代码逻辑

1.数字识别

数字识别用来一种很笨的方法:截图,然后通过OpenCv识别。代码的话放在最后一块演示。首选需要把小猿口算和Pycharm同时出现在屏幕上,需要打开Mumu模拟器的窗口置顶功能以方便同时能看到Pycharm和小猿口算

然后如下放置:

 

由于这个截图是截取的置顶位置的图片,参数什么的还得自己调,大家可以查看截取的num.py文件查看自己截图截到了哪个地方,自己修改一下mumu模拟器的位置或者代码中截图位置的参数,保证能截到一下num.png所示的两个数字信息就好了。

2.答题部分

既然能截取到图片,并识别出数字,那比较大于小于就So easy了,接下来就是画大于号小于号,我们直接通过

pyautogui.mouseDown(),

pyautogui.move

pyautogui.mouseUp()

来实现按下鼠标,鼠标移动画大于号或者小于号,松开鼠标的操作。逻辑还是挺简单的。不过这个答题只能保证质量,不能保证速度。

三、代码分享:

import math
import sys
import timeimport cv2
import keyboard
import pyautogui
import pytesseract
from PIL import ImageGrab# 鼠标移动相对位置,分为前后两段,用于画大于号或者小于号
# x1大于0,画大于,小于0画小于
def mouse_move(x1, y1):pyautogui.mouseDown()pyautogui.move(x1, y1, duration=0.1)pyautogui.mouseUp()
while True:# 按下空格键终止程序if keyboard.is_pressed('space'):print('游戏结束!')sys.exit()ImageGrab.grab(bbox=(100, 300, 450, 450)).save('./pngs/num.png')# 改为自己的tesseract.exe路径pytesseract.pytesseract.tesseract_cmd = r'E:\IDEs\Python\Tesseract-OCR\tesseract.exe'# 设置生成的照片的路径img = cv2.imread('./pngs/num.png')img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)_, thresh = cv2.threshold(img, 150, 100, cv2.THRESH_BINARY)result = pytesseract.image_to_string(thresh, config='--psm 6').split('?')try:result[0] = result[0].strip()result[1] = result[1].strip()if result[0] == 'O':result[0] = 0if result[1] == 'O':result[1] = 0num1 = math.floor(float(result[0]))num2 = math.floor(float(result[1]))# 设置画大于号小于号的初始位置,参数可调pyautogui.moveTo(277, 700, duration=0.1)if num1 > num2:mouse_move(100,100)print(f'{num1}  >  {num2}')else:mouse_move (-100,100)print(f'{num1}  <  {num2}')time.sleep(0.05)except IndexError as e:print('未捕获到内容!')except ValueError as e:print('未捕获到内容!')

补充:软件包下载

除了CV2和tesseract之外,其他的几个软件包直接鼠标碰到报错(提示找不到软件包)的地方,就会给出解决方法:下载软件包。是在不行自己pip install +软件包名也能下载

需要注意的是cv2是opencv里面的一部分,因此需要以下指令下载openCV

pip install opencv-python

OpenCV包还是挺大的,推荐使用国内镜像:

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

至于tesseract需要手动下载,访问如下地址:

Tesseract User Manual | tessdoc

 滑到最低端选择download

跳转页面后点击这个UB开头的东西

跳转之后找到“set up”程序下载即可

下载安装之后,记得把代码里tesseract.exe的路径也跟着修改一下。

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

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

相关文章

智慧链动青春:国家区块链中心接待北京市十一学校青少年访学探索

以生动科学的方法点燃青少年科学探索欲望是构建未来科技人才梯队的基石。近期国家区块链技术创新中心接待北京市十一学校新生访学&#xff0c;以科普讲座、实操互动的方式让学生在深度思考中感受科学魅力、接触前沿科技&#xff0c;激发学生对区块链、隐私计算和芯片设计制造的…

MES制造执行系统原型图动端 Axure原型 交互设计 Axure实战项目

MES制造执行系统原型移动端 Manufacturing Execution System prototype MES制造执行系统原型图移动端是专门为制造执行系统设计的移动端是一个可视化的设计。用于展示和演示该系统在移动设备上的功能和界面。通过原型图&#xff0c;可以清晰地了解制造执行系统在移动端的各个…

Leetcode 跳跃游戏 二

核心任务是找出从数组的起点跳到终点所需的最小跳跃次数。 这段代码解决的是“跳跃游戏 II”&#xff08;Leetcode第45题&#xff09;&#xff0c;其核心任务是找出从数组的起点跳到终点所需的最小跳跃次数。 class Solution {public int jump(int[] nums) {//首先处理特殊情…

洛谷P3478 [POI2008] STA-Station(换根dp)

题目链接 https://www.luogu.com.cn/problem/P3478 思路 对于 n 1 e 6 n1e6 n1e6&#xff0c;我们考虑换根dp。 定义 f [ u ] f[u] f[u]表示以 u u u为根的子树中&#xff0c;所有节点的深度之和。定义 d p [ u ] dp[u] dp[u]表示整棵树以 u u u为根时&#xff0c;所有节点…

制药企业MES与TMS的数据库改造如何兼顾安全与效率双提升

*本图由AI生成 在全球制造业加速数字化转型的浪潮中&#xff0c;一家来自中国的、年营业额超过200亿元的制药企业以其前瞻性的视角和果断的行动&#xff0c;成为该行业里进行国产化改造的先锋。通过实施数据库改造试点项目&#xff0c;该企业实现了其关键业务系统MES&#xff0…

python的多线程和多进程

首先需要明确的是&#xff0c;多进程和其他语言的一样&#xff0c;能够利用多核cpu&#xff0c;但是python由于GIL的存在&#xff0c;多线程在执行的时候&#xff0c;实际上&#xff0c;每一时刻只有一个线程在执行。相当于是单线程。然而多线程在某些情况下&#xff0c;还是能…

使用 python 下载 bilibili 视频

本文想要达成的目标为&#xff1a;运行 python 代码之后&#xff0c;在终端输入视频链接&#xff0c;可自动下载高清 1080P 视频并保存到相应文件夹。 具体可分为两大步&#xff1a;首先&#xff0c;使用浏览器开发者工具 F12 获取请求链接相关信息&#xff08;根据 api 接口下…

Leetcode 1514. 概率最大的路径

1.题目基本信息 1.1.题目描述 给你一个由 n 个节点&#xff08;下标从 0 开始&#xff09;组成的无向加权图&#xff0c;该图由一个描述边的列表组成&#xff0c;其中 edges[i] [a, b] 表示连接节点 a 和 b 的一条无向边&#xff0c;且该边遍历成功的概率为 succProb[i] 。 …

【3dgs】Gaussian-SLAM发展关键历程梳理

【3dgs】Gaussian-SLAM 0. 写在前面1. 3D Splatting与SLAM流程2. Splatting SLAM&#xff1a;单目/RGB-D(2024年新作&#xff09;2.1 相机跟踪精度2.2 新视图渲染性能2.3 消融实验 3. Gaussian-SLAM&#xff08;Photo-SLAM&#xff09; Photo-SLAM技术原理详解 ORBSLAM3dGS&am…

OKG Research:如何衡量链上数据的开放价值?

在新加坡Token2049期间&#xff0c;欧科云链研究院受邀参加Bloomberg主办的企业另类资产投资峰会2024&#xff0c;与多位专家围绕未来数据形态与前景进行了深入交流。 活动后&#xff0c;欧科云链研究院负责人Lola Wang与资深研究员Jason Jiang在大公网发表署名文章《如何衡量…

faust,一个神奇的 Python 库!

大家好&#xff0c;今天为大家分享一个神奇的 Python 库 - faust。 Github地址&#xff1a;https://github.com/robinhood/faust 在分布式系统和实时数据处理的世界里&#xff0c;消息流处理&#xff08;Stream Processing&#xff09;变得越来越重要。Faust 是一个 Python 库…

【工具变量】上市公司企业广告支出数据(2007-2023年)

一、测算方式&#xff1a;具体而言&#xff0c;参照 Lu 等&#xff08;2022&#xff09;的研究&#xff0c;本文通过上市公司财务报表附注获取每家上市公司每年销售费用明细项目&#xff0c;筛选出广告费、广告宣传费、广告推广费、广告策划费、广告展览费等与广告支出相关的项…

Python入门笔记(二)

文章目录 第六章 列表list6.1 创建列表&#xff1a;[]、list()、列表生成式6.2 索引访问元素、元素返回索引index()6.3 列表增加元素:append()、extend()、insert()6.4 列表删除元素&#xff1a;remove()、del()、pop()、clear()6.5 列表修改元素6.6 排序&#xff1a;.sort()、…

防火墙的三种工作模式:路由模式、透明模式(网桥)、混合模式

防火墙作为网络安全的核心设备之一&#xff0c;扮演着至关重要的角色。它不仅能够有效防御外部网络的攻击&#xff0c;还能保护内部网络的安全。在如今复杂多样的网络环境下&#xff0c;防火墙的部署和工作模式直接影响着网络安全策略的实施效果。防火墙通常可以工作在三种模式…

自定义函数查看OS的file cache

简介 在OS中使用cache机制&#xff0c;主要为了提高磁盘的读取效率&#xff0c;避免高频的IO交换。将频繁访问的数据存放在file cache中&#xff0c;下一次在获取的时候就可以直接读取&#xff0c;缓存高命中率对于数据高速检索十分有利。 smem smem 是一个可以显示 Linux 系…

【即见未来,为何不拜】聊聊分布式系统中的故障监测机制——Phi Accrual failure detector

前言 昨天在看tcp拥塞控制中的BBR(Bottleneck Bandwidth and Round-trip propagation time)算法时&#xff0c;发现了这一特点&#xff1a; 在BBR以前的拥塞控制算法中(如Reno、Cubic、Vegas)&#xff0c;都依赖于丢包事件的发生&#xff0c;在高并发时则会看到网络波动的现象…

uni-app使用v-show编译成微信小程序的问题

问题 在uni-app使用v-show语法编译成微信小程序会有一个问题 当我们设置成v-show"false" 在Hbuilder X里面确实没有显示 然后运行到 微信开发程序里面 发现显示了出来&#xff0c;说明设置的 v-show"false"没有起作用 解决办法 首先去uniapp官网查看v…

uniapp打包安卓apk步骤

然后安装在手机上就可以啦

火狐浏览器 Firefox v131.0.2 第三方tete009编译便携版

火狐浏览器是一款非常优秀的浏览器&#xff0c;它的兼容性和稳定性非常出色&#xff0c;备受全球用户的青睐。Firefox便携版是Firefox浏览器的一个特别版本&#xff0c;它可以在没有安装的情况下使用&#xff0c;非常方便。tete009 Firefox 编译版的启动和加载图片时间是所有火…

Ubuntu内存扩容

目录 vmware设置Ubuntu设置查看 读研后发现&#xff0c;Ubuntu的使用量直线上升&#xff0c;之前给配置了20g内存&#xff0c;安装了个ros后&#xff0c;没啥内存了。本文实现给Ubuntu扩容。 vmware设置 这里 我使用别人的截图来演示。 我在这里改成了60 Ubuntu设置 sudo a…