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值,因为雨事从上而下的动…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...

Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
ip子接口配置及删除
配置永久生效的子接口,2个IP 都可以登录你这一台服务器。重启不失效。 永久的 [应用] vi /etc/sysconfig/network-scripts/ifcfg-eth0修改文件内内容 TYPE"Ethernet" BOOTPROTO"none" NAME"eth0" DEVICE"eth0" ONBOOT&q…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...