当前位置:编程学习 > C#/ASP.NET >>

C#纸牌记忆游戏怎么实现随机发牌啊

答案:
一种我认为可以实现的方法,先将扑克随机放置到一个数组中然后再顺序发放就可以了
比如设置一个结构,结构中有花色、大小、和一个标志位
给扑克顺序生成随机数确定扑克放置位置,然后判断这个位置是否已经被其它扑克占用(标志位)
如果没有占用,则将这张扑克放置在当前位置,否则检查下一个地址(循环检查比如 :随机位置+1%54)是否被占用,如果没有占用就放到这个位置,以此类推找到直到找到这个位置,修改扑克放置位置的标志位;
然后为下一张扑克再随机生成放置位置,直到54张扑克全部放完
剩下工作就是顺序发放就可以了
1.用一个数组puke[54]有序的保存纸牌.
2.随机一个>=0,<=54的数i,再按相同条件随机一个数j
3.将puke[i]和puke[j]的值交换.
4.将2,3步反复执行.
5.随机达成,puke[54]已经不再有序,等于被洗牌过了!发牌时从puke[0]开始发.
希望对你有所帮助!
使用ARRAYLIST 添加 54张牌
使用随机函数获得0到arraylist.size的值
将该值作为索引 从arraylist获得该索引处的牌 并将其从arraylist中删除
当arraylist.size的值为0的时候 发牌完毕

上一个:Web如何下载XML 文件 c#?
下一个:C#如何读取javascript的数组呢?

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,