PowerMiner/src/HumanBehavior.java

50 lines
1.9 KiB
Java
Raw Normal View History

import java.util.ArrayList;
public class HumanBehavior {
2018-03-27 08:08:19 -04:00
private int minimumTimeTillXPCheck = 25;
private int maximumTimeTillXPCheck = 73;
private int minimumTimeTillCameraRotation = 32;
private int maximumTimeTillCameraRotation = 61;
long nextTimeToCheckMiningXP;
2018-03-27 08:08:19 -04:00
long nextTimeToRotateCamera;
public HumanBehavior() {
2018-03-27 08:08:19 -04:00
nextTimeToCheckMiningXP = System.currentTimeMillis() + getNextTimeTillMiningXPCheck();
nextTimeToRotateCamera = System.currentTimeMillis() + getNextTimeTillCameraRotation();
}
public void checkMiningXP(Cursor cursor) throws Exception {
cursor.moveAndLeftClickInBoundingRectangle(Constants.getStatsIconRectangle());
2018-03-27 08:08:19 -04:00
Thread.sleep(Randomizer.nextGaussianWithinRange(280, 420));
cursor.moveInsideBoundingRectangle(Constants.getMiningXPRectangle());
Thread.sleep(Randomizer.nextGaussianWithinRange(1750, 3420));
cursor.moveAndLeftClickInBoundingRectangle(Constants.getInventoryIconRectangle());
}
public void randomlyCheckMiningXP(Cursor cursor) throws Exception {
if (System.currentTimeMillis() > nextTimeToCheckMiningXP) {
checkMiningXP(cursor);
2018-03-27 08:08:19 -04:00
System.out.println("Checking mining XP!");
nextTimeToCheckMiningXP = System.currentTimeMillis() + getNextTimeTillMiningXPCheck();
}
}
2018-03-27 08:08:19 -04:00
public void randomlyRotateCamera(CameraCalibrator cameraCalibrator) throws Exception {
if (System.currentTimeMillis() > nextTimeToRotateCamera) {
cameraCalibrator.randomlyShiftView();
System.out.println("Rotating camera!");
nextTimeToRotateCamera = System.currentTimeMillis() + getNextTimeTillCameraRotation();
}
}
private int getNextTimeTillMiningXPCheck() {
return Randomizer.nextGaussianWithinRange(1000 * 60 * minimumTimeTillXPCheck, 1000 * 60 * maximumTimeTillXPCheck);
}
2018-03-27 08:08:19 -04:00
private int getNextTimeTillCameraRotation() {
return Randomizer.nextGaussianWithinRange(1000 * 60 * minimumTimeTillCameraRotation, 1000 * 60 * maximumTimeTillCameraRotation);
}
}