Package org.cybuch.jbot.controler

Source Code of org.cybuch.jbot.controler.PickuperController

package org.cybuch.jbot.controler;

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

import org.cybuch.jbot.gui.JBot;
import org.cybuch.jbot.utils.Global;
import org.cybuch.jbot.utils.Keyboard;

import javafx.event.EventHandler;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
import javafx.stage.StageStyle;

public class PickuperController {

  private Properties prop;
  private int spearX;
  private int spearDelay;
  private int spearY;
  @FXML
  private TextField delay;
  private int leftHandX;
  private int leftHandY;

  @FXML
  private void initialize() throws FileNotFoundException, IOException {
    prop = new Properties();
    if (!new File("config.properties").exists()) {
      return;
    }
    prop.load(new FileInputStream("config.properties"));
    if (prop.getProperty("spearX") == null) {
      return;
    }
    leftHandX = Integer.parseInt(prop.getProperty("leftHandX"));
    leftHandY = Integer.parseInt(prop.getProperty("leftHandY"));
    spearX = Integer.parseInt(prop.getProperty("spearX"));
    spearY = Integer.parseInt(prop.getProperty("spearY"));
    spearDelay = Integer.parseInt(prop.getProperty("spearDelay"));
    delay.setText(prop.getProperty("spearDelay"));
  }
 
  public void selectSpears() throws IOException {
    FXMLLoader loader = new FXMLLoader(
        JBot.class.getResource("Select.fxml"));
    AnchorPane selectDialog = (AnchorPane) loader.load();
    final Stage stage = new Stage();
    stage.initStyle(StageStyle.TRANSPARENT);
    Scene scene = new Scene(selectDialog);
    stage.setScene(scene);
    stage.setOpacity(0.1);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    stage.setWidth(screenSize.getWidth());
    stage.setHeight(screenSize.getHeight());
    stage.show();
    scene.setOnMousePressed(new EventHandler<MouseEvent>() {
      public void handle(MouseEvent me) {
        spearX = (int) me.getScreenX();
        spearY = (int) me.getScreenY();
        spearDelay = Integer.parseInt(delay.getText());
        prop.setProperty("foodX", Integer.toString(spearX));
        prop.setProperty("foodY", Integer.toString(spearY));
        if (delay.getText() != null || delay.getText().equalsIgnoreCase("")); {
        prop.setProperty("spearDelay", delay.getText());
        }
        try {
          prop.store(new FileOutputStream("config.properties"), null);
          stage.close();
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    })
  }
 
  public void selectLeftHand() throws IOException, AWTException {
    FXMLLoader loader = new FXMLLoader(
        JBot.class.getResource("Select.fxml"));
    AnchorPane selectDialog = (AnchorPane) loader.load();
    final Stage stage = new Stage();
    stage.initStyle(StageStyle.TRANSPARENT);
    Scene scene = new Scene(selectDialog);
    stage.setScene(scene);
    stage.setOpacity(0.1);
    Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    stage.setWidth(screenSize.getWidth());
    stage.setHeight(screenSize.getHeight());
    stage.show();
    scene.setOnMousePressed(new EventHandler<MouseEvent>() {
      public void handle(MouseEvent me) {
        leftHandX = (int) me.getScreenX();
        leftHandY = (int) me.getScreenY();
        prop.setProperty("leftHandX", Integer.toString(leftHandX));
        prop.setProperty("leftHandY", Integer.toString(leftHandY));
        try {
          prop.store(new FileOutputStream("config.properties"), null);
          stage.close();
        } catch (Exception e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
        }
      }
    });
  }
 
  public void pickup() throws AWTException {
    t.start();
  }

  Thread t = new Thread(new Runnable() {
    public void run() {
      try {
        Thread.sleep(2000);
          for (int i = 0; i < Integer.MAX_VALUE; i++) {
            if (Global.LOCKED) {
              i--;
              Thread.sleep(5000);
            }
            else {
            Global.LOCKED = true;
            Robot robot = new Robot();
            robot.setAutoDelay(500);
            robot.mouseMove(spearX, spearY);
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseMove(leftHandX, leftHandY);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);
            Keyboard keyboard = new Keyboard();
            robot.keyPress(KeyEvent.VK_ENTER);
            robot.keyRelease(KeyEvent.VK_ENTER);
            Global.LOCKED = false;
            Thread.sleep(Integer.parseInt(delay.getText()) * 1000);
            }
          }
      } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
      }
    }
  });
 
}
TOP

Related Classes of org.cybuch.jbot.controler.PickuperController

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.