网站大量收购独家精品文档,联系QQ:2885784924

数据结构与算法课设-斗地主游戏4.docxVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业,课程,设计,数据结构,算法,斗地主,游戏毕业,课程,设计,数据结构,算法,斗地主,游戏

一、设计目的 培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。 培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。 培养学生初步的软件设计及软件测试的能力。 二、程序功能 1. 实现了图形界面。 2. 实现了斗地主中各种出牌的类型。 3. 正确的计算了“提示”的功能(计算被管的概率以及是否有牌可出)。 4. 实现了斗地主的各种游戏规则。 5. 实现了出牌顺序以及出牌的规则。 三、程序流程图 本程序主要是利用全局变量来统筹整个程序,辅之的是指针变量。总共有三个子函数,分别为洗牌子函数,排序子函数,发牌子函数。洗牌这个子函数利用了随机数的生成,而主函数通过指针变量把生成的随机数赋值给全局变量,再通过冒泡排序法对全局变量进行排序,最后按编号换算进行输出。 四、主要模块(或模块)及其功能 本程序总共有3个子函数,1个主函数,其中3个子函数分别为getcard()子函数,outcard()子函数,oncard()子函数。 restarte()这个子函数利用了shuffle()来生成随机数1到54。当然,为了使生成的数都不一样,还使用if的判断语句。 主函数把洗牌得到的54位随机数分成四组数组赋值到全局变量a[17],b[17],c[17],d[17]当中去,然后通过getcard(),oncard()这两个子函数来进行排序输出。 数组中的数为1到54的随机排列,而Paxu()子函数首先把1到52的数对应化成1到13的数,即是1到13对应化成1到13;14到26对应化成1到13;如此类推……而53,54就对应化成16,17。然后把已经化成1,2的数再对应化成14,15的数,其化法如下:3 → 3 → 3;26 → 13 → 13;14 → 1 → 14;28 →2 → 15;53 → 16……然后用冒泡排序法对变化后的3到17的数进行从小到大的排序,而最初的全局变量的数组也跟着排序,最后也是用冒泡排序法对相同牌数的花色进行从小到大的排序,即方块,梅花,红桃,黑桃。 outcard()这个子函数就是把排号序的数进行换算输出。 图形界面的参数 手牌的排序 出牌规则 五、算法描述 本程序除了运用一些条件语句,判断语句之外,主要运用了两个算法,一个是随机数的生成,一个是冒泡排序法。 随机数的生成的复杂度为O(N),其中N=54,这是在运行结果最佳的状况下才会出现的,一旦生成的随机数相同的话,通过if语句会重新生成随机数,直到生成不同的随机数。 冒泡排序法的空间复杂度为O(1),时间复杂度为O(N2),本程序中的N为54,而且运行了两次冒泡排序法,分别为牌数和花色进行排序,所以空间复杂度为2×O(1),时间复杂度为2×O(542)。 六、实验结果

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档