Javascript 如何生成带有“的随机数”;“增量”;他们之间,为了一个Teeter html5游戏

Javascript 如何生成带有“的随机数”;“增量”;他们之间,为了一个Teeter html5游戏,javascript,html,html5-canvas,Javascript,Html,Html5 Canvas,我正在开发一个跷跷板游戏,我需要一些帮助 现在,我正在HTML5画布上随机生成10个点的坐标 假设画布是500px乘以500px,我已经使点在100到400之间生成,从而使它们的位置远离画布边界 为此,我使用函数randomFromInterval()-xw和xh表示画布的高度和宽度 从这10个点(每个点的x和y坐标在画布上): -5分将成为交叉的中心 -5个点将成为孔的中心 当球(用户导航的球)越过一个十字线时,他将得到分数,如果他掉进一个洞里,他就会松开 这是我的问题: 由于数字的随机性-一

我正在开发一个跷跷板游戏,我需要一些帮助

现在,我正在HTML5画布上随机生成10个点的坐标

假设画布是500px乘以500px,我已经使点在100到400之间生成,从而使它们的位置远离画布边界

为此,我使用函数randomFromInterval()-xwxh表示画布的高度和宽度

从这10个点(每个点的x和y坐标在画布上): -5分将成为交叉的中心 -5个点将成为孔的中心

当球(用户导航的球)越过一个十字线时,他将得到分数,如果他掉进一个洞里,他就会松开

这是我的问题:

由于数字的随机性-一些坐标与其他坐标太接近-所以我可以在十字架上画一个“洞”的一部分。

现在,一些随机数对可能是:[1,5]和[2,6]

如果我在x=1和y=5(画布上的坐标)处绘制十字,并在x=2和y=6处绘制,这两个将重叠

代码如下:

function randomFromInterval(from,to){
    return Math.floor(Math.random()*(to-from+1)+from);
}

function crossesAndHoles(){
        var crossx, crossy, col;
        for(var i=0; i<=10; i++){
            crossPos = [];
            crossx = randomFromInterval(100, xw-100); // the xw  is the width of the canvas
            crossy = randomFromInterval(100, xh-100); // the xh is the height of the canvas
            col = checkcollision(crossx, crossy, xdim); // here I check the collision with the maze which is drew on the canvas
            if((crossx != crossy) && col == 0){
                crossPos.push(crossx);
                crossPos.push(crossy);
                crossesPos.push(crossPos);
            }
        }
    }
函数randomFromInterval(从,到){
返回Math.floor(Math.random()*(to-from+1)+from);
}
函数crossesAndHoles(){
变量crossx,crossy,col;

对于(var i=0;i对于生成的每个新坐标,您可以对照先前生成的坐标检查其距离…如果距离太近,则生成一个新坐标。

…比较这些值并确保它们至少相隔4个?您知道,有时问一些问题意味着您必须正确地通过它…我只是在想同样的事情-我可以将每对值存储到一个数组中,然后生成具有特定值的更大的值