我正在开发一个跷跷板游戏,我需要一些帮助。
现在,我在 HTML5 画布上随机生成 10 个点的坐标。
假设画布为 500 像素 x 500 像素 - 我已将点生成在 100 到 400 之间,从而将它们的位置集中在远离画布边界的位置。
为此,我使用函数randomFromInterval() - xw和xh表示画布的高度和宽度。
从这 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);
}
}
}
有任何想法吗?