美文网首页
srand48(time(0))随机产生一种颜色

srand48(time(0))随机产生一种颜色

作者: 三四叶草 | 来源:发表于2016-08-31 16:37 被阅读519次

计算机产生的随机数并不是真正随机的,所以叫 伪随机数。当“种子”固定时,它产生的随机数序列是不变的,例如产生10个数,这10个数大小是变化的,但只要用这个种子,每次产生的这10个数序列,是一模一样的。用 srand(time(0)); 设种子,就会因时间变化,得到不同的种子,那么随机数序列就会变化。time(0) 是当前时间,(精度可能是[毫秒]。只要两次跑程序启动时间差别 超过1[毫秒],两个序列就不同了(随机)。如果时间差别不到1[毫秒]两个序列就没变化

1.随即给view一个颜色,点击屏幕事颜色发生改变
  - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
for (int i =0; i<20; i++)
{
    UIView *view =[[UIView alloc]initWithFrame:CGRectMake(WIDTH/20*i, HEIGHT/2, WIDTH/20, HEIGHT)];
    view.backgroundColor =[self randomcolor];
    [self.view addSubview:view];
    
}

}
- (UIColor *)randomcolor
{
static BOOL seeded = NO;
if (!seeded)
{
    srand48(time(0));
    seeded = YES;
}
CGFloat r = (CGFloat)drand48();
CGFloat g = (CGFloat)drand48();
CGFloat b = (CGFloat)drand48();
return [UIColor colorWithRed:r green:g blue:b alpha:1.0];

}
2.效果图
点击随机改变颜色

相关文章

  • srand48(time(0))随机产生一种颜色

    计算机产生的随机数并不是真正随机的,所以叫 伪随机数。当“种子”固定时,它产生的随机数序列是不变的,例如产生10个...

  • 产生0-3的随机数

    srand((unsigned)time(0)); //不加这句每次产生的随机数不变 inti =rand(...

  • iOS--随机数rand、random、arc4random

    iOS 有如下三种随机数方法: srand((unsigned)time(0)); //不加这句每次产生的随机数...

  • 2015笔记——随机数

    iOS有如下三种随机数方法: srand((unsigned)time(0));//若不加这一句,则每次产生的随机...

  • C函数调用

    一,产生随机数 srand(time(0));//初始化随机数发生器,不能放进循环,只需执行一次,也可以写为sra...

  • JavaScript随机产生颜色

    很多时候会需要产生多种颜色备用,如果总量不确定,就可以考虑用随机颜色; 先写一个自己最常用的: 这个方法其实是一个...

  • iOS随机算法,概率算法

    ios中三种随机算法(0到10中随机取一个数字不包括5) //第一种 srand((unsigned)time(...

  • iOS-随机数

    iOS有三种生成随机数的方法: 第一种: srand((unsigned)time(0)); // 不加这句每次产...

  • srand rand mt_rand

    srand 产生随机种子 rand 真正产颜色随机数 mt_rand真正产颜色随机数,范围比rand大

  • numpy 排序,随机数,保留小数

    1 产生随机数 numpy.random.rand(d0, d1, …, dn),产生[0,1)之间均匀分布的随机...

网友评论

      本文标题:srand48(time(0))随机产生一种颜色

      本文链接:https://www.haomeiwen.com/subject/qezqettx.html