游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1678|回复: 5

关于随机数的难题

[复制链接]

211

主题

314

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2004-9-4 17:20:00 | 显示全部楼层 |阅读模式
是不是伪随机数在任何机子上,产生的数按顺序的数字都是一样的啊,比如A机运行第一次是2运行第二次是7第三次是5,B机也是运行第一次是2运行第二次是7第三次是5,我问这个问题主要是我做了个程序连网的,要保持两变画面一样但是用了随机数如果两边机子场所随机数按顺序数字不同就不能保持画面同步了

62

主题

296

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
QQ
发表于 2004-9-4 20:46:00 | 显示全部楼层

Re:关于随机数的难题

随机数你也敢用来做同步的?就算不用随机数也应该时常通讯一下确认一致的

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20547
发表于 2004-9-4 21:27:00 | 显示全部楼层

Re:关于随机数的难题

你可以建立一套你的随机数规则,也就是可以事先准备好一套运算路线,然后来个查表法,很快而且安全。

32

主题

377

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
发表于 2004-9-5 12:13:00 | 显示全部楼层

Re:关于随机数的难题

随机数好像是完全不变的……

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-9-5 13:00:00 | 显示全部楼层

Re:关于随机数的难题

在取随机数之前,最好先重新设置一下随机种子

c语言里面可以用
rand(time())

5

主题

71

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2004-9-5 13:49:00 | 显示全部楼层

Re:关于随机数的难题

static int randSeed;

int randSeed;

void srand( unsigned seed )
{
randSeed = seed;
}

int rand( void )
{
randSeed = (69069 * randSeed + 1);
return randSeed & 0x7fff;
}

你自己说会不会呢?
PS:注意当中一些技巧属于数学技巧,如69069的特殊性。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-8-18 02:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表