想写一个小游戏,一直很疑惑游戏里的概率。
比如说某件事60%的概率,我是这样的  (rand%100)看是否小于60,但总感觉不是个滋味
请教下一般概率该怎么弄。

解决方案 »

  1.   

    就是这样弄,不过rand这个值你可以用其它更随机的数据代替,用时间,鼠标位置等
      

  2.   

    就这样挺好的,rand是伪随机,可以加入楼上说的时间,鼠标位置做种子。
      

  3.   

    你这个好像得到的是随机概率...
    我觉得应该是这样...如果是60%的概率....应该是将 aaabb这种序列打乱,然后任取一个数.那个数是a的概率..打乱的方式你可以用随机数..
      

  4.   

    http://blog.csdn.net/cyblueboy83/archive/2010/09/16/5887877.aspx
    可以参考下,概率这个东西目前我见过的几个似乎没有统一的做法,这个是较常见的了。
      

  5.   

    rand()的值域是[0, 32767],而且产生的是伪随机。你可以用srand(time(NULL));做种子,关联系统时间,这种用法比较常见。真随机数算法貌似目前还没有。另外,如果你觉得rand()%100感觉不好的话,我的理解是即使rand()产生的是0到32767之间的真随机数,rand()%100所得到的结果也不会在[0, 99]上均匀分布。原因是32767不是100的倍数。你可以试试这样:(int)(rand()/32767.0*100)<60.