游戏开发论坛

 找回密码
 立即注册
搜索
12
返回列表 发新帖
楼主: RoninHao

求教一个扑克牌洗牌的算法

[复制链接]

11

主题

162

帖子

189

积分

注册会员

Rank: 2

积分
189
QQ
发表于 2006-5-11 19:00:00 | 显示全部楼层

Re:求教一个扑克牌洗牌的算法

m_Card 如果是普通数组而不是 std::vector 的话就不能用 random_shuffle()。

用我最开始贴的代码就可以了。

2

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-5-11 19:30:00 | 显示全部楼层

呵呵~~

我现在什么都不懂,但我很想学~~ 以后有什么不懂的地方还请各位朋友相教了~~

4

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
 楼主| 发表于 2006-5-11 21:49:00 | 显示全部楼层

Re: Re:求教一个扑克牌洗牌的算法

Whistler: Re:求教一个扑克牌洗牌的算法

m_Card 如果是普通数组而不是 std::vector 的话就不能用 random_shuffle()。

用我最开始贴的代码就可以了。


我在网上找的资料说的random_shuffle也可以用在数组上,http://www.vckbase.com/vckbase/vckbase8/vc/nonctrls/c++mfc_04/0804005.htm
应该没问题,但是我用读取/dev/random设备的时候,想读取的是1024×1024,但是我看m_iCount这个返回值每次都是很小。

433

主题

4233

帖子

4403

积分

论坛元老

Rank: 8Rank: 8

积分
4403
发表于 2006-5-13 03:50:00 | 显示全部楼层

Re:求教一个扑克牌洗牌的算法

有本书叫VC++.net小游戏开发
里面有很多棋牌类 程序代码及讲解:)推荐购买。

11

主题

162

帖子

189

积分

注册会员

Rank: 2

积分
189
QQ
发表于 2006-5-13 12:28:00 | 显示全部楼层

Re: Re: Re:求教一个扑克牌洗牌的算法

RoninHao: Re: Re:求教一个扑克牌洗牌的算法



我在网上找的资料说的random_shuffle也可以用在数组上,http://www.vckbase.com/vckbase/vckbase8/vc/no...


那个资料应该是不对的。

GNU/Linux 中的 /dev/random 就是不能一次读太多,因为它是靠系统动作来产生随机数的,系统没有足够的动作来产生太多的随机数

2

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-5-14 11:20:00 | 显示全部楼层

Re:求教一个扑克牌洗牌的算法

VISUAL   STUDIO.NET   ENTERPISE   DEVELOPER简体中文版(6张),插入第一张盘,系统提示:请插入"系统必备盘",我找了一下,发现是第三张(C盘),可插入后,等了一会儿,系统报错:"无法加载sitsetup.dll,但光盘上是有这个文件的,但大小写不一样,可就是无法加载,就此打住,哪位老大有这方面经验啊,我的操作系统是WIN2000   SP4,

2

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-5-14 11:21:00 | 显示全部楼层

Re:求教一个扑克牌洗牌的算法

sitsetup.dll   是做什么用的?光盘上有SITSetup.dll,能用吗?什么情况下加载不起?

2

主题

8

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2006-5-14 12:29:00 | 显示全部楼层

Re:求教一个扑克牌洗牌的算法

VISUAL   STUDIO.NET   ENTERPISE   DEVELOPER简体中文版(6张),插入第一张盘,系统提示:请插入"系统必备盘",我找了一下,发现是第三张(C盘),可插入后,等了一会儿,系统报错:"无法加载sitsetup.dll,但光盘上是有这个文件的,但大小写不一样,可就是无法加载,就此打住,哪位老大有这方面经验啊,我的操作系统是XP

4

主题

21

帖子

21

积分

注册会员

Rank: 2

积分
21
 楼主| 发表于 2006-5-15 10:54:00 | 显示全部楼层

Re: Re: Re: Re:求教一个扑克牌洗牌的算法

Whistler: Re: Re: Re:求教一个扑克牌洗牌的算法



那个资料应该是不对的。

GNU/Linux 中的 /dev/random 就是不能一次读太多,因为它是靠系统动作来产生随机数的,系统没有足够的动作来产生太多的随机数


如果硬件支持RNG的话我想应该不会有多大问题,我觉得现在考虑的是如何能保证算法的随机性;
对于上面说得数组的问题,我写了个测试程序,用的是数组,没有发现问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-24 12:53

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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