wadim,
Только в моем варианте рандом кривовато сделан
Там 19 будет повторяться чаще, наверное. Я не уверен, но попробуй вот такой гнератор
gen=function(){return Math.round(Math.random()*19)}
arr=[]
inArr=function(val){
for(var i=0; i<=arr.length; i++) {if(arr[i]===val) return true}
}
while(arr.length<4){
tmp=gen()
if(inArr(tmp)) continue; arr.push(tmp)
}
alert(arr)
// ::: [ 0, 17, 7, 6 ]
// :::
// ::: [ 4, 5, 16, 7 ]
// :::
// ::: [ 5, 19, 7, 2 ]
// :::
// ::: [ 14, 17, 9, 12 ]
// :::
// ::: [ 14, 11, 12, 5 ]
// :::
// ::: [ 16, 11, 7, 10 ]
// :::
// ::: [ 6, 8, 14, 13 ]
// :::
// ::: [ 16, 1, 12, 11 ]
// :::
// ::: [ 18, 10, 16, 19 ]
// :::
// ::: [ 11, 14, 10, 6 ]
// :::
// ::: [ 14, 8, 17, 16 ]
// :::
// ::: [ 13, 10, 2, 17 ]
// :::
// ::: [ 9, 17, 13, 2 ]
// :::
// ::: [ 11, 1, 0, 7 ]
// :::
// ::: [ 15, 18, 9, 10 ]
// :::
// ::: [ 17, 8, 13, 18 ]
// :::
// ::: [ 12, 6, 15, 5 ]
// :::
// ::: [ 6, 5, 16, 13 ]
// :::
// ::: [ 3, 18, 14, 1 ]
// :::
// ::: [ 10, 12, 7, 1 ]
// :::
// ::: [ 7, 0, 13, 12 ]
// :::
// ::: [ 17, 12, 10, 4 ]
// :::
// ::: [ 12, 2, 14, 16 ]
// :::
// ::: [ 16, 0, 13, 15 ]
// :::
// ::: [ 10, 9, 0, 16 ]
// :::
// ::: [ 12, 16, 8, 5 ]
// :::
// ::: [ 14, 2, 3, 12 ]
// :::
// ::: [ 14, 10, 6, 18 ]
// :::
// ::: [ 8, 0, 7, 11 ]
// :::
// ::: [ 18, 17, 13, 2 ]
// :::
// ::: [ 4, 15, 16, 9 ]
// :::
// ::: [ 18, 5, 17, 10 ]
// :::
// ::: [ 11, 19, 10, 2 ]
// :::
// ::: [ 2, 12, 6, 1 ]
// :::
// ::: [ 2, 16, 18, 4 ]
// :::
// ::: [ 13, 9, 17, 7 ]
// :::
// ::: [ 15, 7, 10, 12 ]
// :::
// ::: [ 2, 7, 3, 4 ]
// :::
// ::: [ 9, 6, 10, 4 ]
// :::
// ::: [ 18, 4, 16, 14 ]
// :::
// ::: [ 7, 18, 6, 13 ]
// :::
// ::: [ 17, 10, 1, 0 ]
// :::
// ::: [ 11, 14, 17, 3 ]
// :::
// ::: [ 5, 16, 2, 19 ]
// :::
// ::: [ 14, 3, 12, 5 ]
// :::
// ::: [ 1, 8, 10, 14 ]
// :::
// ::: [ 8, 17, 1, 13 ]
// :::
// ::: [ 19, 1, 11, 18 ]
// :::
// ::: [ 18, 10, 14, 11 ]
// :::
// ::: [ 13, 19, 1, 17 ]
// :::
// ::: [ 12, 3, 9, 5 ]
Если это важно.
Я потестил, вроде работает. Не силен я в математике