GO语言,半自动打怪
仅供学习参考,切勿用于商业用途
package mainimport ("fmt""github.com/go-vgo/robotgo""math/rand""time"
)const (taskNum = 7
)type Task struct {Name stringSleepTime1 intSleepTime2 intFunc func()
}func main() {for i := 1; i <= 32; i++ {tasks := []Task{{Name: "第1图",SleepTime1: 3000,SleepTime2: 100,Func: Task1,},{Name: "第2图",SleepTime1: 1,SleepTime2: 1,Func: Task2,},{Name: "第3图",SleepTime1: 1,SleepTime2: 1,Func: Task3,},{Name: "第4图",SleepTime1: 1500,SleepTime2: 80,Func: Task4,},{Name: "第5图",SleepTime1: 1500,SleepTime2: 80,Func: Task5,},{Name: "第6图",SleepTime1: 1500,SleepTime2: 80,Func: Task6,},{Name: "第7图",SleepTime1: 1500,SleepTime2: 80,Func: Task7,},}for i := 1; i <= taskNum; i++ {task := tasks[i-1]fmt.Printf("开始执行任务:%s\n", task.Name)time.Sleep(time.Duration(task.SleepTime1) * time.Millisecond)time.Sleep(time.Duration(rand.Intn(task.SleepTime2)) * time.Millisecond)task.Func()fmt.Printf("任务%s已完成\n", task.Name)}}
}func Task1() {robotgo.MoveClick(367, 270, `left`, true)time.Sleep(2000)robotgo.KeyTap("right")robotgo.MilliSleep(10)robotgo.KeyToggle("right", "down")time.Sleep(6 * time.Second)robotgo.KeyToggle("right", "up")time.Sleep(100)fmt.Printf("第1图通关,")
}func Task2() {robotgo.KeyTap("s")time.Sleep(2 * time.Second)robotgo.KeyTap("a")robotgo.MilliSleep(20)//向下移动3秒向上移动1秒robotgo.KeyToggle("up", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("up", "up")robotgo.MilliSleep(50)robotgo.KeyTap("g")robotgo.MilliSleep(50)robotgo.KeyTap("w")time.Sleep(9 * time.Second)robotgo.KeyToggle("down", "down")time.Sleep(1 * time.Second)robotgo.KeyToggle("down", "up")robotgo.MilliSleep(50)fmt.Printf("第二图通关,")
}func Task3() {robotgo.MilliSleep(50)robotgo.KeyTap("right")robotgo.MilliSleep(10)robotgo.KeyToggle("right", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("right", "up")fmt.Printf("进入第3图")robotgo.MilliSleep(50)robotgo.KeyTap("h")time.Sleep(3 * time.Second)time.Sleep(6 * time.Second)robotgo.KeyToggle("up", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("up", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("down", "down")time.Sleep(1 * time.Second)robotgo.KeyToggle("down", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("right", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("right", "up")robotgo.MilliSleep(50)fmt.Printf("第3通关")}func Task4() {robotgo.KeyTap("right")robotgo.MilliSleep(50)robotgo.KeyToggle("right", "down")time.Sleep(5 * time.Second)robotgo.KeyToggle("right", "up")robotgo.MilliSleep(50)time.Sleep(20 * time.Second)robotgo.KeyToggle("right", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("right", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("up", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("up", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("down", "down")time.Sleep(1 * time.Second)robotgo.KeyToggle("down", "up")robotgo.MilliSleep(50)fmt.Printf("第4图通关")
}func Task5() {//向上移动1秒fmt.Print("****准备进入5图")//向上移动1秒robotgo.KeyTap("right")robotgo.MilliSleep(50)robotgo.KeyToggle("right", "down")time.Sleep(5 * time.Second)robotgo.KeyToggle("right", "up")robotgo.MilliSleep(50)time.Sleep(20 * time.Second)robotgo.KeyToggle("right", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("right", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("up", "down")time.Sleep(2 * time.Second)robotgo.KeyToggle("up", "up")robotgo.MilliSleep(50)robotgo.KeyToggle("down", "down")time.Sleep(1 * time.Second)robotgo.KeyToggle("down", "up")robotgo.MilliSleep(50)fmt.Printf("第5图通关")
}func Task6() {fmt.Print("****准备进入6图")robotgo.KeyTap("right")robotgo.MilliSleep(50)robotgo.KeyToggle("right", "down")robotgo.KeyToggle("down", "down")time.Sleep(5 * time.Second)robotgo.KeyToggle("right", "up")robotgo.KeyToggle("down", "up")robotgo.MilliSleep(50)robotgo.KeyTap("w")robotgo.MilliSleep(50)robotgo.KeyTap("a")fmt.Print("****进入6图")robotgo.KeyTap("w")time.Sleep(20 * time.Second)fmt.Printf("最后通关1")robotgo.KeyTap("w")time.Sleep(30 * time.Second)fmt.Printf("最后通关2")robotgo.KeyTap("w")time.Sleep(20 * time.Second)fmt.Printf("全图通关")
}func Task7() {fmt.Printf("开始捡完物品")robotgo.KeyTap("v")time.Sleep(3 * time.Second)//修装备//time.Sleep(time.Duration(sleepTime2) * time.Millisecond)//robotgo.KeyTap("s")//time.Sleep(time.Duration(sleepTime2) * time.Millisecond)//robotgo.KeyTap("s")//time.Sleep(time.Duration(sleepTime2) * time.Millisecond)//robotgo.KeyTap("enter")//time.Sleep(1 * time.Second)//捡东西time.Sleep(3 * time.Second)fmt.Printf("第一个图捡完物品")robotgo.MilliSleep(2000)robotgo.MoveClick(10, 10, `left`, true)robotgo.MilliSleep(50)robotgo.MoveClick(10, 10, `left`, true)time.Sleep(2 * time.Second)robotgo.KeyTap("enter")time.Sleep(2 * time.Second)robotgo.KeyTap("shift")robotgo.MilliSleep(50)robotgo.KeyTap("/")robotgo.MilliSleep(50)robotgo.KeyTap("/")robotgo.MilliSleep(50)robotgo.KeyTap("shift")robotgo.MilliSleep(50)robotgo.KeyTap("y")robotgo.MilliSleep(50)robotgo.KeyTap("i")robotgo.MilliSleep(50)robotgo.KeyTap("d")robotgo.MilliSleep(50)robotgo.KeyTap("o")robotgo.MilliSleep(50)robotgo.KeyTap("n")robotgo.MilliSleep(50)robotgo.KeyTap("g")robotgo.MilliSleep(50)robotgo.KeyTap("w")robotgo.MilliSleep(50)robotgo.KeyTap("u")robotgo.MilliSleep(50)robotgo.KeyTap("p")robotgo.MilliSleep(50)robotgo.KeyTap("i")robotgo.MilliSleep(50)robotgo.KeyTap("n")robotgo.MilliSleep(50)robotgo.KeyTap("space")robotgo.MilliSleep(50)robotgo.KeyTap("enter")robotgo.MilliSleep(50)time.Sleep(3 * time.Second)fmt.Printf("第一个图捡完物品")robotgo.MilliSleep(2000)robotgo.MoveClick(1377, 71, `left`, true)robotgo.MilliSleep(50)robotgo.MoveClick(1377, 71, `left`, true)robotgo.MilliSleep(50)robotgo.KeyTap("enter")robotgo.MilliSleep(50)robotgo.KeyTap("shift")robotgo.MilliSleep(50)robotgo.KeyTap("/")robotgo.MilliSleep(50)robotgo.KeyTap("/")robotgo.MilliSleep(50)robotgo.KeyTap("shift")robotgo.MilliSleep(50)robotgo.KeyTap("y")robotgo.MilliSleep(50)robotgo.KeyTap("i")robotgo.MilliSleep(50)robotgo.KeyTap("d")robotgo.MilliSleep(50)robotgo.KeyTap("o")robotgo.MilliSleep(50)robotgo.KeyTap("n")robotgo.MilliSleep(50)robotgo.KeyTap("g")robotgo.MilliSleep(50)robotgo.KeyTap("w")robotgo.MilliSleep(50)robotgo.KeyTap("u")robotgo.MilliSleep(50)robotgo.KeyTap("p")robotgo.MilliSleep(50)robotgo.KeyTap("i")robotgo.MilliSleep(50)robotgo.KeyTap("n")robotgo.MilliSleep(50)robotgo.KeyTap("space")robotgo.MilliSleep(50)robotgo.KeyTap("enter")robotgo.MilliSleep(50)time.Sleep(3 * time.Second)robotgo.MilliSleep(50)robotgo.MoveClick(10, 10, `left`, true)robotgo.MilliSleep(100)robotgo.KeyTap("esc")time.Sleep(1 * time.Second)robotgo.KeyTap("f10")robotgo.MilliSleep(50)robotgo.KeyTap("f10")time.Sleep(3 * time.Second)
}func randInt(min, max int) int {rand.Seed(time.Now().UnixNano())return rand.Intn(max-min+1) + min
}相关文章:
GO语言,半自动打怪
仅供学习参考,切勿用于商业用途 package mainimport ("fmt""github.com/go-vgo/robotgo""math/rand""time" )const (taskNum 7 )type Task struct {Name stringSleepTime1 intSleepTime2 intFunc func() }fu…...
【Java 进阶篇】Java登录案例详解
登录是Web应用程序中常见的功能,它允许用户提供凭证(通常是用户名和密码)以验证其身份。本文将详细介绍如何使用Java创建一个简单的登录功能,并解释登录的工作原理。我们将覆盖以下内容: 登录的基本概念创建一个简单的…...
Vue 菜单导航栏,轮播图
导航菜单栏结构和样式代码实现 一级导航栏 views/HomeView.vue <template><div><Shortcut></Shortcut><Header></Header><div class"inner"><Navigation></Navigation></div><div>我是主页&l…...
讲述为什么要学习Adobe XD以及 Adobe XD下载安装
首先 我们要了解 Adobe XD 是个什么东西 XD是Adobe公司专门开发出来面向交互、界面设计的矢量绘图工具。 然后是 他可以做什么? 最基本的 可以做UI界面设置 所有 手机 平板 电脑等设备的UI界面 我们都可以通过XD完成 还有就是原型设置 我们可以做各种界面图 还有…...
Netty复习:(1)Http server: hello world
一、加依赖 <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.72.Final</version></dependency>二、创建自定义的handler package cn.edu.tju.handler;import io.netty.buffer.ByteB…...
【Python 千题 —— 基础篇】加法计算
题目描述 题目描述 编写一个程序,接受用户输入的两个数字,然后计算这两个数字的和,并输出结果。 输入描述 输入两个数字,用回车隔开两个数字。 输出描述 程序将计算这两个数字的和,并输出结果。 示例 示例 ① …...
基于纵横交叉算法的无人机航迹规划-附代码
基于纵横交叉算法的无人机航迹规划 文章目录 基于纵横交叉算法的无人机航迹规划1.纵横交叉搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要:本文主要介绍利用纵横交叉算法来优化无人机航迹规划。 …...
D-Bus:数据类型
D-Bus中描述接口的属性和方法,有其自己定义的一套签名描述方式: 数据类型描述符号对应C++数据类型avector/array数组, ai表示的是vector<int32_t>bboolddouble双精度浮点数iint32_t,32位有符号整数nint16_t,16位有符号整数oobject_path对象路径quint16_t,16位无符号…...
BI零售数据分析,告别拖延症,及时掌握一线信息
在日常的零售数据分析中,经常会因为数据量太大,分析指标太多且计算组合多变而导致数据分析报表难产,零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展,智能化、可视化、自助分析的BI数据分析逐渐成熟,形成一套…...
[BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
再补完这个就基本上完了. crypto RSA Variation II Schmidt-Samoa密码系统看上去很像RSA,其中Npqq, 给的eN给了d from secret import flag from Crypto.Util.number import *p getPrime(1024) q getPrime(1024)N p*p*qd inverse(N, (p-1)*(q-1)//GCD(p-1, q-1))m bytes…...
论文范文:论基于架构的软件设计方法及应用
注意:范文只适用于帮助大家打开写作思路,并不能作为素材直接用于平时练习、考试中。考试中直接使用范文的素材,会有被认定为雷同卷的风险。 摘要: 2022年4月,本人所在单位计划研发生态集装箱管理控制平台项目。该平台主要用于与现有公司生态集装箱产品做对接,达到远程控制…...
C语言 指针进阶笔记
p和*p: 如图,p是指针,指针存放着地址,打印出来应该是数组的值 *p是指针里里面的元素 #include<stdio.h> int main() {int a1;int b2;int c3;int p[3]{a,b,c};printf("%d",*p); return 0; } 那么现在的打印结果应该为数组的…...
数据库认证 | Oracle OCP好考吗
数据库对于很多技术人员来说都不陌生,但是你想深入了解的话,那么考个证书也许就是一个不错的选择。 如果能考个Oracle OCP认证的话,那也确实不错。那么Oracle OCP好考吗?下面我们就来了解一下吧。 01 Oracle OCP好考吗 OCP考试还…...
处理大数据的基础架构,OLTP和OLAP的区别,数据库与Hadoop、Spark、Hive和Flink大数据技术
处理大数据的基础架构,OLTP和OLAP的区别,数据库与Hadoop、Spark、Hive和Flink大数据技术 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话&am…...
解决计算机msvcp120.dll文件丢失的5种方法,亲测有效
在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“msvcp120.dll丢失”。这个错误提示可能会给我们带来很大的困扰,影响我们的正常使用。本文将详细介绍msvcp120.dll丢失的原因、解决方法以及预防措施,帮助大家更好地…...
Python selenium交互
视频版教程:一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium selenium可以模拟用户点击事件,以及控制浏览器前进,后退等操作。 下面是一个模拟百度搜索,点击下一页,控制浏览器后退,…...
基本微信小程序的体检预约小程序
项目介绍 我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,体检预约系统小程序被用户普遍使用,为方便用户…...
FHE 的高精度算术:BGV-big、BFV-big
参考文献: [NL11] Naehrig M, Lauter K, Vaikuntanathan V. Can homomorphic encryption be practical?[C]//Proceedings of the 3rd ACM workshop on Cloud computing security workshop. 2011: 113-124.[GC15] Geihs M, Cabarcas D. Efficient integer encoding…...
基于SpringBoot的在线笔记系统
技术介绍 🔥采用技术:SpringSpringMVCMyBatisJSPMaven 🔥开发语言:Java 🔥JDK版本:JDK1.8 🔥服务器:tomcat 🔥数据库:mysql 🔥数据库开发工具&…...
UE4 使用材质后期 制作玻璃有雨效果
效果展示,其实这是一个动画效果 以上为所有逻辑 拿到TexCoord给到Panner,Time和Speed都是通过下面计算而来,后面讲,再拿到时间和速度值过后,加上扰动值,最后取G值,因为雨事从上而下的动…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
Mysql8 忘记密码重置,以及问题解决
1.使用免密登录 找到配置MySQL文件,我的文件路径是/etc/mysql/my.cnf,有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...
