100 から 400 の範囲で、この間隔で数値を生成するにはどうすればよいでしょうか。それらの差は 20 未満ではありませんか?
したがって、これらの数値の配列は、たとえば [120, 155, 187, ...] のようになります。
ランダムな間隔から数値を生成するための私の関数は次のとおりです。
function randomFromInterval(from,to){
return Math.floor(Math.random()*(to-from+1)+from);
}
何か案は?
これが私が試したことですが、それはばかげています:)
function generateNumbers(){
var nr1 = randomFromInterval(100, xw-100);
var nr1y = randomFromInterval(100, xw-100);
var nr2 = randomFromInterval(100, xw-100);
while (Math.abs(nr1 - nr2) < 20){
nr2 = randomFromInterval(100, xw-100);
}
var nr2y = randomFromInterval(100, xw-100);
var nr3 = randomFromInterval(100, xw-100);
while (Math.abs(nr1 - nr3) < 20 && Math.abs(nr2 - nr3) < 20){
nr3 = randomFromInterval(100, xw-100);
}
var nr3y = randomFromInterval(100, xw-100);
var nr4 = randomFromInterval(100, xw-100);
while (Math.abs(nr1 - nr4) < 20 && Math.abs(nr2 - nr4) < 20 && Math.abs(nr3 - nr4) < 20){
nr4 = randomFromInterval(100, xw-100);
}
var nr4y = randomFromInterval(100, xw-100);
var nr5 = randomFromInterval(100, xw-100);
while (Math.abs(nr1 - nr5) < 20 && Math.abs(nr2 - nr5) < 20 && Math.abs(nr3 - nr5) < 20 && Math.abs(nr4 - nr5) < 20){
nr5 = randomFromInterval(100, xw-100);
}
var nr5y = randomFromInterval(100, xw-100);
var nrArray = [[nr1,nr1y],[nr2,nr2y],[nr3,nr3y],[nr4,nr4y],[nr5,nr5y]];
console.log(nrArray);
return nrArray;
}