Java MoveMouse RNG совет с моей программой - PullRequest
0 голосов
/ 09 декабря 2018

Я работал над программой, использующей класс Java Robot, чтобы переместить мою мышь в случайное место, ограниченное областью пикселей.Как некоторые из вас знают, метод moveMouse работает как moveMove(x,y), где x - номер горизонтального пикселя, а y - номер вертикального пикселя.Затем я бы вычислил генератор случайных чисел, используя math.random, чтобы программа щелкала случайный пиксель в прямоугольном сечении на моем экране.эта строка будет выглядеть следующим образом (числа являются произвольными значениями)

robot.mouseMove(randomNum(350,400),randomNum(350,400)

Где она будет выбирать между пикселями 350-400 в направлении х.и 350-400 в направлении у.Хотя проблема, с которой я сталкиваюсь, заключается в том, что в конечном итоге после нескольких сотен итераций диаграмма разброса кликов выглядит ... не так случайно:

"случайные" клики

Так что я подумал, что решил бы эту проблему, добавив 2 массива, которые содержат значения пикселей для соответствующих значений x и y, которые я хочу, и добавил взвешенный ГСЧ, повторяя числа пикселей, чтобы у него был более высокий шанс перехода кэти пиксели.Но я все равно получаю неестественно выглядящую точечную диаграмму.Вот мой код:

private static int[] items = new int[] 
{/*insert x coord pixels*/ };
    private static Random rand = new 
Random();

    public static int getRandArrayElement() 
 {
        return 
 items[rand.nextInt(items.length)];
    }


    private static int[] items2 = new int[] 
{/*insery y coord pixels*/};
    private static Random rand2 = new 
Random();

    public static int 
getRandArrayElement2(){
        return 
items2[rand2.nextInt(items2.length)];
    } 



robot.mouseMove(getRandArrayElement(),getRandArrayElement2());
robot.mousePress(button);
robot.delay(randomNum(11,32));
robot.mouseRelease(button);
robot.delay(randomNum(11,32));

Этот код по-прежнему имеет то же ограничение, что и предыдущий, несмотря ни на что, мой график рассеяния все равно будет напоминать какой-то прямоугольник.Можно ли как-нибудь составить список, в котором каждое значение имеет читаемое значение x AND y, чтобы я мог жестко кодировать взвешенный ГСЧ, опуская определенные пиксели, чтобы я мог выбрать форму, которая будет выглядеть на диаграмме рассеяния?Я бы хотел, чтобы это выглядело примерно так:

Более случайный вид графика кликов

Так что если у кого-нибудь есть какая-либо полезная информация, которой он хотел бы поделиться,Я весь во внимании.веселит.:)

...