- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业,课程,设计,数据结构,算法,斗地主,游戏,制作毕业,课程,设计,数据结构,算法,斗地主,游戏,制作
PAGE
目录
课程设计的目的
课程设计要求
3.课程设计内容
3.1包含功能
3.2主要功能的实现
3.3运用的数据结构的知识
3.4源代码
3.5部分程序运行结果
4.心得体会
课程设计的目的
培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。
培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。
培养学生初步的软件设计及软件测试的能力。
课程设计的要求
1、要求至少运用两种数据结构,一种排序算法、一种查找算法。
2、逻辑清晰,操作简单。
3、能正确判断游戏的开始跟结束。
4、规则按照QQ斗地主的规则。
5、本课程设计不要求图形界面,同学们可以在控制台模拟游戏过程即可。不需要网络通信,也就是说,启动程序后,一人扮演多种玩家,实现游戏过程,最终分出胜负即可。
三.课程设计内容
3.1 我的程序包括了哪些功能
1、洗牌。
2、发牌。
3、显示手牌。
4、出牌。
5、先出完牌者获得胜利。
3.2 对于主要功能我是如何实现的
suiji_L():洗牌函数,将牌打乱。
suiji_ren():随机产生一个玩家成为地主。
main函数 ListInsert_L发牌函数,将洗过的牌发到玩家手中
Listdelete_L出牌函数,将需要出的牌从手中删除。
Xianshi():显示函数,输出玩家现在的手牌。
定义全局变量v[54],代表54张牌。主函数中首先定义链表L,A,S,分别代表三个玩家,调用suiji_L()函数,将v[54]中的元素打乱,调用ListInsert_L函数,将打乱的牌分别发放到三个玩家的手中;调用xianshi()函数,输出该玩家的手牌,然后输入你要出的牌,调用Listdelete_L函数,从该玩家的手牌中删除这张牌,转到下个玩家,依次循环,直到有一个玩家手牌为空,跳出循环,输出该玩家获得胜利。
3.3 运用了哪些数据结构的知识?
在ListInsert_L函数中运用了链表的插入;
在Lisrdelete_L函数中运用单链表的删除;
在xianshi()函数中运用了单链表的排序;
在Listdeletr_L 函数中运用单链表的查找(通过链表的data查找)
3.4 源代码
#include iostream
#include time.h
#include stdlib.h
using namespace std;
int v[54]={3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,17};
typedef int ElemType;
typedef int Status;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList
void suiji_L() ; //随机发牌函数
int suiji_ren(); //产生地主
void ListInsert_L(LinkList L,ElemType e); //插入函数
void Lisrdelete_L(LinkList L,ElemType e); //删除函数
void xianshi(LinkList L);
int chupai(char ch);
int main()
{
cout游戏规则:你要同时控制三个玩家,游戏时首先要选择你出几张牌,出牌之后会自动控制下一个玩家,如果出的牌比对方小会自动到下一个玩家并且此张牌没有出去,现结束所有牌的玩家获胜!endl;
cout游戏还不是很完善,操作也有点繁琐,望见谅!endlendlendlendl;
int i=3,c1=1,c2=0,c3=0,a,a1,a2,a3,k;
char b1,b2,b3,b4;
LinkList L;L=(LinkList)malloc(sizeof(LNode));
L-next=NULL;
LinkList A;A=(LinkList)malloc(sizeof(LNode));
A-next=NULL;
LinkList S;S
您可能关注的文档
最近下载
- 2025-2026学年浙江省温州市鹿城区南浦实验中学七年级(下)期中数学试卷.pdf VIP
- 一台列管式换热器的设计(含装配图)-化工原理课程设计.doc
- 桥梁知识专题讲座课程PPT课件.ppt
- 临床技术操作规范:皮肤病与性病分册 中华医学会.pdf
- 医患沟通技巧ppt课件.pptx
- 2024版糖尿病科普课件(完整版).ppt VIP
- 2022科学课程标准解读及学习心得:科学课程的育人方向.docx VIP
- 黄帝内经-认识五脏六腑课件.ppt
- 温州二中2025(突破训练)020年七年级下学期英语期中试题(有答案,无听力).pdf VIP
- 高三生物二轮复习微专题:PCR技术中的引物课件.pptx
文档评论(0)