相关疑难解决方法(0)

需要可预测的随机发生器

我是一名网络游戏开发者,我遇到了随机数问题.假设玩家有20%的几率用他的剑获得重击.这意味着,5次点击中的1次应该是至关重要的.问题是我的现实生活成绩非常糟糕 - 有时候球员在5次安打中得到3次降落,有时15次命中都没有.战斗相当短(3-10次命中),因此获得良好的随机分布非常重要.

目前我使用PHP mt_rand(),但我们只是将代码移动到C++,所以我想在游戏的新引擎中解决这个问题.

我不知道解决方案是否是一些统一的随机生成器,或者可能记住以前的随机状态以强制正确分配.

c++ random algorithm

151
推荐指数
16
解决办法
2万
查看次数

random()实际上是如何工作的?

每种语言都有random()函数或类似的东西来生成伪随机数.我想知道下面会发生什么来生成这些数字?我没有编程任何使这些知识成为必要的东西,只是为了满足自己的好奇心.

random

13
推荐指数
1
解决办法
2223
查看次数

哪个更随机:人工或软件生成的数字?

是否投掷硬币以获得随机位?
或者掷骰子以获得1到6的随机整数?
或者从洗牌的甲板上拿一张来获得1到52的数字?
.
.
.
或者它能像我们一样思考还是像我们一样拥有智慧?

显然,上述示例不能是生成随机数据的方法.

那么软件库如何random在给定范围内生成数字? 哪个更随机:人工或软件生成?

language-agnostic random

4
推荐指数
1
解决办法
794
查看次数

随机数发生器的实现

可能重复:
随机数生成器如何工作?

我正在寻找C/C++中随机数生成器的内部实现.基本上我很想知道调用rand()时究竟发生了什么.在所有机器遵循一定的指令后,它怎么可能是随机的!
编辑:想知道如何在C/C++中实现一个.

c c++ random implementation

4
推荐指数
1
解决办法
1万
查看次数

随机数字列表

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <string.h>
#include <math.h>

int main()
{
   int i;
   int diceRoll;

   for(i=0; i < 20; i++)
   {
       printf("%d \n", rand());
   }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这是我在c(codeblocks)中编写的代码来获取随机数,问题是我总是得到相同的序列:41,18467,6334,26500等等...

我还在学习,所以请尝试解释,就像你正在和一个8岁的D谈话:

c c++ random codeblocks

4
推荐指数
1
解决办法
1923
查看次数

rand()如何在C中工作?

我知道rand()生成一个随机数.我找到了这个例子:

#include <stdio.h>
#include <stdlib.h>

int main()
{
   int i, n;
   time_t t;

   n = 5;

   /* Intializes random number generator */
   srand((unsigned) time(&t));

   /* Print 5 random numbers from 0 to 49 */
   for( i = 0 ; i < n ; i++ ) 
   {
      printf("%d\n", rand() % 50);
   }

   return(0);
}
Run Code Online (Sandbox Code Playgroud)

我知道这个问题可能听起来有点傻,但任何人都可以解释一下上面的代码是如何工作的吗?

c

-4
推荐指数
1
解决办法
1万
查看次数