今天在工作中遇到这样一个问题:给定1个矩形,左下角的点point(x, y),长w,高h,要在这个矩形里随机出n个不同的点用来种怪。这个算法该怎么写呢?这对于我来说确实成为了一个问题。图示如下:
由于任务时间紧,做的又是Demo的原因,我不假思索的写出了下面这个算法:
//从[from, to]区间中随机一个整数 function randomInt (from, to) { //方法实现就不写了 } function randomCoords (point, w, h, n) { //目的数组 var coords = []; var map = {}; var count = n; if ((w + 1) * (h + 1) < n) { count = (w + 1) * (h + 1); } while (count > 0) { var x = randomInt(point.x, point.x + w); var y = randomInt(point.y, point.y +

