2013-06-03 32 views
0

我制作了一个图片库,使用了两种不同的动画,以随机顺序使用。但我意识到,我的人的感觉并不满意。如何在javascript(比赛)中随机生成“eye candy”0/1

JS Math.floor(Math.random() * 2)有时产生000000011111011111110000000

所以我尝试创造一些更“养眼”随机生成。

我知道,很难对此做出“真正的答案”。随时发布您的答案和/或up/downvote其他人。

jsFiddle

回答

0

相同最大两次

for (j = 0; j < 100; j++) { 
    var oldrand, 
    i, 
    rand = Math.floor(Math.random() * 2); 
    if (oldrand === rand) { 
     if (++i === 2) { 
      rand = Math.abs(oldrand - 1); 
      i = 0; 
     } 

    } else { 
     i = 0; 
    } 
    oldrand = rand; 
} 

结果 0010110110010010010101001101010101001011001100100110110110011010011001101101101100110011001011010010

0

Oposite更好

for (j = 0; j < 100; j++) { 
    var rand = (Math.random() < 0.8) ? Math.abs(rand - 1) : rand; 
} 

结果: 0101010101010001010101010101010101010101101001001001010010101000101001010101010101101010101001010101