故事背景

友女回家学车,今天星期五,明天不上班。

正文开始

作为一个程序员,在无聊的时候会做点什么呢?大多数的都是会选择玩游戏,今晚我也选择了一个游戏,这个游戏叫反应速度大比拼,如下图

玩法特别简单,就是当你点击开始按钮后,如果看到背景颜色变化了就马上按结束按钮,这期间的耗时便是你的游戏成果。上面说到一句话**‘Johnny.R 的为0.11’** ,这个Johnny.R被大家称为狙神,就是玩CS的时候狙击打的最溜的,0.11秒说明他的反应速度真的不是盖的。无聊的我玩了一晚都没进过0.3以内的速度

这太打击我了!
这太打击我了!
这太打击我了!

看来有些东西真的不是“无它,唯手熟耳”,既然我是个程序员,我肯定会采用程序来挽回我的脸面


于是我使用了自己熟悉的Java语言,完成了超越Johnny.R的伟大目标,先祭出里程碑效果图,看到没有,0.056秒!!!!!,这特么就是个奇迹。我是Johnny.R的20倍叼。

编写这个程序的过程

根据这个游戏规则,可以将人的行为转换为程序的行为,思路很简单

  1. 先获取背景的任意一个坐标比如A的颜色(其实是RGB值),设为color1
  2. 再获取开始按钮的坐标,再将鼠标移动过去,再点击鼠标,并释放鼠标
  3. 不停地获取最开始那个背景坐标A的颜色,设为color2,看看两者是否相等,不相等则颜色变化了
  4. 再获取结束按钮的坐标,再将鼠标移动过去,再点击鼠标,并释放鼠标

上面的步骤其实有一个问题,那就是怎么获取屏幕任意位置的坐标,其实有种工具可以在你的鼠标移动到某个位置的时候便显示出该位置的坐标

所以这样子我们就可以获取背景、开始按钮、结束按钮的坐标了,这样子就可以让程序自动地移动鼠标到指定的位置。

下面贴出完整的Java代码,Java程序员可以尽情使用,熟悉其他语言的不用沮丧,你们的语言大概率也支持这些操作

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Robot;
import java.awt.event.InputEvent;public class Main {public static void main(String[] args) throws AWTException {Robot robot = new Robot();// 获取像素Color color1 = robot.getPixelColor(1690, 520);// 移动鼠标到开始按钮robot.mouseMove(2222, 483);// 点击鼠标robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);// 释放鼠标robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);while (true) {Color color2 = robot.getPixelColor(1690, 520);// 如果初始颜色不等于当前颜色if (!color1.equals(color2)) {// 移动鼠标到结束按钮robot.mouseMove(2260, 490);// 点击鼠标robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);// 释放鼠标robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);break;}}}
}

无聊的程序员教你如何使用十几行代码练就单身20年的手速(文末彩蛋)相关推荐

  1. Java程序员从阿里、百度面试回来,这些面试题你们会吗?(文末福利)

    算算自己大概面试了近十家公司,也拿到了几个Offer,现在面试告一段落,简单总结下面试经验. 我现在主要的方向是Java服务端开发,把遇到的问题和大家分享一下,也谈谈关于技术人员如何有方向的提高自己, ...

  2. 程序员段子:等我敲完这行代码,就和你离婚!

    原文地址:https://blog.csdn.net/sinat_39430615/article/details/76111979 工作是高端大气上档次,工资是低调奢华接地气! 我们叫做" ...

  3. python1000行代码_写个人脸识别程序员,C可能要两千行代码,Java两百!但是Python只需二十行即可!...

    今天给大家介绍一个世界上最简洁的人脸识别库 face_recognition,你可以使用 Python 和命令行工具进行提取.识别.操作人脸. 基于业内领先的 C++ 开源库 dlib 中的深度学习模 ...

  4. 程序员编程艺术第一 二十二章集锦与总结(教你如何编程)

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 程序员编 ...

  5. 程序员编程艺术第一~二十二章集锦与总结(教你如何编程)

    程序员编程艺术第一~二十二章集锦与总结(教你如何编程) 作者:July.编程艺术室. 出处:http://blog.csdn.net/v_JULY_v . 题记 好久没更新博客了,虽只有一个月,但对我 ...

  6. 怎么用python制作简单的程序-神级程序员教你如何用python制作一个牛逼的外挂!...

    玩过电脑游戏的同学对于外挂肯定不陌生,但是你在用外挂的时候有没有想过如何做一个外挂呢?(当然用外挂不是那么道义哈,呵呵),那我们就来看一下如何用python来制作一个外挂.... 我打开了4399小游 ...

  7. 微商成功神器,python程序员教你,一键分析微信好友近期所有信息

    其他精彩内容:https://blog.csdn.net/weixin_45400881/article/details/95754294 几千个好友,怎么统计 相信做微商的微信好友都会很多,多到很多 ...

  8. python开发程序知道微信好友是否已读信息吗_微商成功神器,python程序员教你,一键分析微信好友近期所有信息...

    好友太多怎么保活 相信做微商的微信好友都会很多,多到很多都成了"僵尸"好友,但是想要成为一个成功的微商,要有两点: 1.好友多,基数决定高度 2."活的"好友多 ...

  9. android刮奖控件,资深程序员教你一步步打造万能的Android刮奖控件

    原标题:资深程序员教你一步步打造万能的Android刮奖控件 实现效果 这只是基本实现效果的一部分,下面还有元素没有演示 大致的设计思路: 绘制出刮层效果. 实现刮开效果. 添加事件监听器,完善常用函 ...

最新文章

  1. 【安全牛学习笔记】其他途径
  2. 2012-08-17
  3. windows bat 设置ip_A6v5.1网络版安装与防火墙设置
  4. Ubuntu 上不了网
  5. 碳钢腐蚀速率计算公式_镁合金轮毂螺栓连接的电偶腐蚀行为
  6. 普通域用户设置共享文件夹
  7. 损坏的主文件表_启动失败时如何手动修复Windows 10的MBR(主引导记录)
  8. 【weiphp微信开发教程】留言板插件开发详解
  9. Struts2入门教程(学习教程资料).pdf
  10. NEWSCTF第二届--官方wp(2021.6.1萌新赛)
  11. 刽子手c语言,麻烦刽子手程序在C
  12. 云计算与虚拟化技术发展编年史
  13. 笔记本计算机提升性能,如何加快笔记本电脑的运行速度?
  14. android的wifi开发码源,亚美电游app下载 -官方网站
  15. 9月8日,直播抽奖:涂鸦智能带您掘金千亿美金智能市场
  16. CSDN的迷你博客为什么冷冷清清?
  17. greenDao框架浅入深出
  18. 从码云上克隆代码,修改完之后,在提交上去(图解)
  19. Hadoop2.x配置-Ubuntu18.04-Vm虚拟机
  20. 论坛自动发帖php源码,小蜜蜂论坛发帖机推出phpwind论坛发帖机

热门文章

  1. Android基础性能检测与分析
  2. 华为设备配置PIM-SM命令
  3. 【算法leetcode每日一练】剑指 Offer II 080. 含有 k 个元素的组合 | 77. 组合
  4. 键盘拆开重新安装步骤_键盘怎么完全拆卸清理并重新组装?
  5. 最详细的【微信小程序+阿里云Web服务】开发部署指引(四):搭建服务端数据库
  6. Android P 图形显示系统(四) Android VirtualDisplay解析
  7. 微信朋友圈评论/回复/cell/键盘谈起
  8. python判断字符是英文字母怎么回事_python判断字符串是否包含字母
  9. android设备修改默认桌面为自定义应用
  10. android实现下载功能实现,Android开发之DownloadManager的使用