关于随机的问题

来源:百度知道 编辑:UC知道 时间:2024/06/26 05:09:30
一些牌不看.然后去选.这样可以说的随机.但电脑有随机吗?(电脑不是人脑阿.更何况他选时,东西都在它的体内阿.),如果有那么是怎么计算呢?
那么这个函数是怎么弄的.``怎么随机呢 哥哥太复杂了吧 不明白``

QQ游戏中斗地主游戏,
电脑发牌当然也是随机啊,
原理很简单。
比如一副牌有54张,
给每张牌编上编号,
从1,2,3......一直到54,
程序会调用一个函数(比如rand函数)生成一个随机数,这个随机数在0到1之间,
那么你用54*rand()就获取的是大于等于0并且小于等于54的数字,
这样每次都是取的是一张不固定的牌

给你举个简单例子吧
假如我要从12生肖中随机选3个生肖
我用1,2,3.。。。一直到12代表鼠牛。。狗猪
然后我生成3个随机数
代码如下,
你把它复制下来在SQL的查询分析器中运行就会看到结果了,
当然你也可以用C#,VB其他的语言来写,
我是手头顺便又SQL2005,所以就写了一个SQL语句。

declare @temp table
(
id int identity(1,1),
v int
)
while 1=1
begin
declare @t int
declare @js int
set @js=0
set @t=round(rand()*12,0)
if @t=0
set @t=1
if @t=13
set @t=12
if not exists(select * from @temp where v=@t)
insert @temp values(@t)
select @js=count(*) from @temp
if @js>=3
break
end
select
id as '序号',
case v when 1 then '鼠'
when 2 then '牛'
when 3 then '虎'