我需要一个随机数生成器,它可以在 iOS 和 Android 中生成相同的数字序列,前提是我们在两者中提供相同的种子。
我用 srand(1000) 尝试了 rand() 函数。但它给出了不同的输出。 然后我尝试了 mersenne twister。但这也为同一种子提供了不同的序列。
谁能帮我解决这个问题。
我正在使用 cocos2d-x 进行开发。
最佳答案
您可以像这样编写自己的随机数生成器。质量较低,但适合大多数用途。
// RAND_MAX assumed to be 32767.
static unsigned long int next = 1;
void srand(unsigned int seed) { next = seed; }
int rand(void) {
next = next * 1103515245 + 12345;
return (unsigned int)(next/65536) % 32768;
}
关于android - iOS和Android通用随机数生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773029/