Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在两个坐标之间随机移动鼠标?_Javascript_Robotjs - Fatal编程技术网

Javascript 在两个坐标之间随机移动鼠标?

Javascript 在两个坐标之间随机移动鼠标?,javascript,robotjs,Javascript,Robotjs,我和我的朋友做了一个游戏,我们正在尝试为它创建一个机器人 它一次又一次地重复同样的动作。但是鼠标总是沿着相同的路径从A点到B点 有没有办法让鼠标从a点移动到B点,并且永远不要使用相同的路径 这是bot的代码: // import the robotjs library var robot = require('robotjs'); function main() { console.log("Starting..."); sleep(4000);

我和我的朋友做了一个游戏,我们正在尝试为它创建一个机器人

它一次又一次地重复同样的动作。但是鼠标总是沿着相同的路径从A点到B点

有没有办法让鼠标从a点移动到B点,并且永远不要使用相同的路径

这是bot的代码:

// import the robotjs library
var robot = require('robotjs');

function main() {
    console.log("Starting...");
    sleep(4000);

    // basic infinite loop
    while (true) {
        robot.moveMouse(764, 557);
        robot.mouseClick();
        robot.moveMouse(356, 432);
        sleep(8000);
    }
}

function sleep(ms) {
    Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, ms);
}

main();
我是新来的,所以请发发发慈悲;)

给你:

const robot = require("robotjs")

const START = [764, 557]
const END = [356, 432]
const loops = 100

robot.setMouseDelay(0)

const getRandom = (min, max) => {
    return Math.floor(Math.random() * (max - min + 1) + min);
}

const go = (coord) => {
    return new Promise((resolve) => {
        robot.moveMouseSmooth(getRandom(END[0], START[0]), getRandom(END[1], START[1]), 1)
        robot.moveMouseSmooth(coord[0], coord[1], 1)
        resolve()
    })
}

const recurse = async (loops) => {
    for (let i = 0; i < loops; i++) {
        await go(START)
        console.log("click") // Insert clicking action here, for single left mouseclick just use, robot.mouseClick() 
        await go(END)
    }
} 

recurse(loops)
const robot=require(“robotjs”)
const START=[764557]
const END=[356432]
常数循环=100
robot.setMouseDelay(0)
常量getRandom=(最小值,最大值)=>{
返回Math.floor(Math.random()*(max-min+1)+min);
}
常数go=(坐标)=>{
返回新承诺((解决)=>{
robot.moveMouseSmooth(getRandom(END[0],START[0]),getRandom(END[1],START[1]),1)
robot.moveMouseSmooth(坐标[0],坐标[1],1)
解决()
})
}
常量递归=异步(循环)=>{
for(设i=0;i
好吧,如果你的目标是相同的路径不应该重复,那么可能会有
n
个排列。你需要有一个已定义路径的列表,并且可以尝试在这些路径之间随机切换。难道没有一个选项可以在a点和B点之间随机移动鼠标吗?那么鼠标很可能永远不会使用同一条路径两次?@Rick你没有抓住重点。。。“可能永远不会”并非如此——它“肯定会在某个时候”使用与以前相同的路径。如果脚本速度足够快的话,很快就会完成。