本文用于使用java实现种树*[目前仅限于Mac OS系统]*
可以帮助你在forests中永远保持排行榜第一.
在使用本教程之前,你需要先安装:

1,Chrome for mac.

2,Java编程器「本文中使用的是Eclipse」

3,Forest for Chrome插件

4,耐心

首先先介绍一下种树的基本原理:[就是按键精灵]:
使用java.Robot实现屏幕自动操控,实现挂机(因此可以使用在其他游戏上)
关于java.Robot的使用可以参照这篇文章:
https://blog.csdn.net/xietansheng/article/details/78453672

Tips:截取坐标还可以使用command+shift+4显示,十字旁边的小数字就是点的坐标.
步骤1,打开chrome.
目前我只找到了2种方法:
(1)直接在程序坞打开:

 Robot robot = new Robot();robot.delay(100);robot.mouseMove(539, 783);//这里填写你的chrome在程序坞中的坐标robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(5000);

(2)在Finder中打开:
需要提前设置好一个能打开Chrome的窗口,

 Robot robot = new Robot();robot.delay(100);robot.mouseMove(539, 783);//这里填写你的chrome在Finder中的坐标robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(5000);

(3)其实还可以用文件打开指令,但我试了很多次没用.

步骤2,定位Forests在屏幕中的坐标
直接最大化窗口,使坐标固定.

robot.mouseMove(230, 10);//打开视图robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(213, 135);//窗口最大化robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);

步骤3:自动种树:
注意:此处的坐标为Mac book pro2015 版前的坐标,可能会不准,需根据实际情况修改.

robot.mouseMove(956, 59);//打开插件robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(835, 255);//对上一次种树点击okrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(724, 98);//点击返回robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(835, 206);//点击图标种树robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);

步骤四:设置计时器:
可以使用while循环实现:

 int t = 7200;while (t > 7200) {robot.delay(1000);t--;System.out.println("Time left: " + t + "s.");}}

步骤五:设置循环.
完整代码:

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.IOException;//InputEvent.BUTTON1_MASK 鼠标左键
//InputEvent.BUTTON2_MASK 鼠标中键
//InputEvent.BUTTON3_MASK 鼠标右键
public class ForestsI {public static void main(String[] args) throws AWTException, Exception {Robot robot = new Robot();robot.delay(100);System.out.println("The location is detected in one circumstance.");Thread.sleep(1000);System.out.println("Please make sure that you have opened mac fan control and minimize the manu.");Thread.sleep(1000);System.out.println("There is only 70 icon in the main bar.");Thread.sleep(1000);int k = 1;while (k > 0) {robot.mouseMove(539, 783);//most importantrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(5000);robot.mouseMove(230, 10);//open setsrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(213, 135);//maximize the windowsrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(956, 59);//open forestsrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(835, 255);//click OKrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(724, 98);//click backrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);robot.delay(1000);robot.mouseMove(835, 206);//click plantrobot.mousePress(InputEvent.BUTTON1_DOWN_MASK);robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);int t = 0;while (t < 7200) {robot.delay(1000);t++;int tl=7200-t;System.out.println("Time left: " + tl + "s.");}}

接下来你就可以一边使用Forests一边干自己想做的事情了,不用担心自己会忘记打卡.
当然,本人更建议把这个用在更多可以直接无脑挂机的游戏上,可以安装MUMU虚拟机实现每日签到,做一些简单的任务:如某方舟的基建,打卡,签到,刷一些基本的副本,把更多时间用在编程上.

怎么用Java实现游戏挂机[Forest种树实例]相关推荐

  1. java手机游戏模拟器下载_Java手机游戏模拟器

    Java手机游戏模拟器主要针对诺基亚S60系列(屏幕176*220)手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的JAVA游戏模拟器,可以正常运行绝大部分JAVA手 ...

  2. Java在游戏服务器开发中的应用

     Java在游戏服务器开发中的应用 width="22" height="16" src="http://hits.sinajs.cn/A1/we ...

  3. java开源游戏下载安装_开源java扫雷游戏,Swing版。

    开源java扫雷游戏,Swing版. xC6JnAIE.zip (60.07 KB) 开源java扫雷游戏,Swing版. 程序文件说明 文件 内容 备注 AboutFrame.java 程序&quo ...

  4. 《Java 2D游戏编程入门》—— 1.5 创建一个主动渲染的窗口

    本节书摘来异步社区<Java 2D游戏编程入门>一书中的第1章,第1.5节,作者:[美]Timothy Wright(莱特),更多章节内容可以访问云栖社区"异步社区"公 ...

  5. java打地鼠游戏-有背景音乐有图

    效果如图: 有背景音效,打击音效 代码不多,30几兆的原因是因为背景音乐文件比较大(一首歌占了一半?) csdn代码下载地址:点击下载 csdn下载需要c币,没有c币可从微信公众号[无心有云] 发送[ ...

  6. Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(

    2019独角兽企业重金招聘Python工程师标准>>> 在Java ME游戏开发中,碰撞检测算法在Java?ME中的实现(百搜技术) 在Java ME游戏开发中,经常需要进行碰撞检测 ...

  7. java swing游戏_Java Swing井字游戏

    java swing游戏 大家好! 哇,自从我在这里发布了东西以来已经有一段时间了! 我必须说我真的很想写东西,我保证我不会再陷入"作家的障碍". 希望 ..最近两个月发生了很多事 ...

  8. 我的世界java版游戏崩溃_我的世界全攻略之-游戏崩溃的解决方法

    我的世界崩溃怎么办?下面吾爱网小编给大家带来我的世界无法正常启动的解决方法,需要的朋友可以参考下. 我的世界作为许多玩家都十分喜爱的模拟经营沙盘类游戏,经常有玩家反映在玩我的世界的时候,游戏总是会出现 ...

  9. Java(Android)游戏开发框架LGame-0.2.7发布

    Java(Android)游戏开发框架LGame-0.2.7发布 2010-08-19更新内容: 1.针对Android版增加了多点触摸支持. 2.增加了一组模拟按钮,以Screen实现Emulato ...

最新文章

  1. UML类图与类的关系
  2. java xml 变量替换_Java JAXB如何将XmlElements重新定义为现有变量
  3. apxs php5,安装PHP5和PHP7
  4. SQL Server Insert 操作效率(堆表 VS 聚集索引表)
  5. Android之用adb screencap -p命令截图
  6. 漫画:从修灯泡来看各种 IT 岗位,你是哪一种?
  7. 网页上的摄影展:等高响应布局实现
  8. 对volley的初步分析第一篇
  9. java dom4j 读取 xml_java使用dom4j读取xml示例
  10. iOS关于iPhone6和iPhone6 Plus的屏幕适配问题
  11. JAVA语法基础作业——动手动脑以及课后实验性问题 (七)
  12. 符合c语言语法规定的表达式,若变量定义为int fahr;,则5(fahr-32)/9是符合C语言语法的表达式...
  13. NV12等常用YUV数据格式
  14. 移动硬盘数据丢失恢复办法
  15. 使用easypoi导出excel设置表头样式
  16. 苹果退款_退货与退款 - 购买帮助 - Apple (中国大陆)
  17. Excel作图-折线图分段显示不同颜色
  18. linux操作系统拼音,linux怎么读(中文读音发音)
  19. php mysql电子_用php与mysql的电子贺卡代码
  20. 4、golang 发送电子邮件

热门文章

  1. 50MHz有源晶振遍布各大工业领域
  2. mysql 按一定条件导出 导出指定库指定表 数据
  3. Cannot allocate memory问题
  4. 利用map()函数,把用户输入的不规则的英文名字,变为首字母大写,其他小写。
  5. erp实施过程中企业会受到怎样的影响?
  6. 几年来的工作与生活感悟
  7. 视频消重,视频去重,使用王者剪辑将视频去重消重的流程
  8. c语言学习打卡日记 6、羽毛球比赛
  9. 使用skyeye运行《Linux设备驱动开发详解》的实例(二)
  10. linux用户注销的方法,linux退出登录_Linux下注销登录用户的方法