我一直在使用Java Robot
类来开发程序,以将鼠标移动到像素区域之间的随机位置。众所周知,moveMouse
方法的作用与moveMove(x,y)
相同,其中x是水平像素数,y是垂直像素数。然后,我将使用math.random对随机数生成器进行数学运算,以使程序单击屏幕上矩形区域中的随机像素。这行看起来像这样(数字是任意值)
robot.mouseMove(randomNum(350,400),randomNum(350,400)
它将在x方向上在像素350-400之间进行选择。在y方向上为350-400。虽然,我遇到的问题是最终经过几百次迭代后,点击的散点图看起来...不是那么随意:
所以我想我将通过添加2个数组来保存此问题来解决这个问题,这些数组保存我想要的对应x和y值,并通过重复像素数来添加加权RNG,这样它就有更大的机会进入这些像素。但是我仍然得到一个看起来不自然的散点图。这是我的代码:
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值的列表,因此我可以通过省略某些像素来对加权RNG进行硬编码,从而选择散点图的形状?我想使它看起来像这样:
More random looking click plot
因此,如果任何人有任何想分享的有用信息,我都会为之倾听。干杯。 :)