From b97e33207881e2b2c1f14c35c0ef9edf25aab162 Mon Sep 17 00:00:00 2001 From: mrbesen Date: Thu, 20 Jul 2017 20:41:11 +0200 Subject: [PATCH] fisrt commit --- src/de/mrbesen/mousetroll/MouseTroll.java | 68 +++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 src/de/mrbesen/mousetroll/MouseTroll.java diff --git a/src/de/mrbesen/mousetroll/MouseTroll.java b/src/de/mrbesen/mousetroll/MouseTroll.java new file mode 100644 index 0000000..87a6e71 --- /dev/null +++ b/src/de/mrbesen/mousetroll/MouseTroll.java @@ -0,0 +1,68 @@ +package de.mrbesen.mousetroll; + +import java.awt.AWTException; +import java.awt.Dimension; +import java.awt.MouseInfo; +import java.awt.Point; +import java.awt.Robot; +import java.awt.Toolkit; + +public class MouseTroll { + + private static int rad = 100;//radius + + public static void main(String[] args) { + try { + Robot bot = new Robot(); + + // get the screen higth / width (used later) + Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); + int width = (int) screenSize.getWidth(); + int height = (int) screenSize.getHeight(); +// System.out.println("MAX: " + width + " " + height); + + long last = 1; // last time the mouse was in the top left screen corner (used later) + + int step = 0; + double stepsize = Math.PI / 100; + + int oldrot[] = {rad,0}; + + + boolean run = true; + while( run ) { + Point p = MouseInfo.getPointerInfo().getLocation();//start Point + + int rot[] = { + (int) (Math.cos(stepsize * step) * rad), + (int) (Math.sin(stepsize * step) * rad) + }; + + bot.mouseMove((int) ((rot[0] - oldrot[0]) + p.x),(int) ((rot[1] - oldrot[1]) + p.y)); + + oldrot = rot.clone(); + +// System.out.println(step + " " + stepsize* step + " "+ rot[0] + " " + rot[1]); + + step++; + step %= 201; + + if(distance(p.x,0,p.y,0) < 10) {//top left + last = System.currentTimeMillis(); + } else if(distance(p.x,width,p.y,height) < 10 & (System.currentTimeMillis() - last) < 5000) {//bottom right + run = false; + } + + try { + Thread.sleep(5); + } catch( InterruptedException e) {} + } + } catch(AWTException e) { + e.printStackTrace(); + } + } + + private static int distance(int xa, int xb, int ya, int yb) { + return (int) (Math.sqrt(((xa-xb)*(xa-xb)) + ((ya-yb)*(ya-yb)))); + } +} \ No newline at end of file