- 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文档。上传文档
查看更多
毕业,课程,设计,数据结构,算法,斗地主,游戏毕业,课程,设计,数据结构,算法,斗地主,游戏
一 设计目的
1. 培养学生运用算法与数据结构的基本知识解决实际编程中的数据结构设计和算法设计问题。
2. 培养学生独立设计程序与解决问题的能力,培养学生团队协作集成程序模块及调试能力。
3. 培养学生初步的软件设计及软件测试的能力。
二、设计任务及要求:
2.1 设计任务:
设计并实现《斗地主》、《德州扑克》、《跑得快》、《推火车》四种棋牌游戏的一种。游戏规则参照QQ游戏。需要注意的是,本课程设计不要求图形界面,同学们可以在控制台模拟游戏过程即可。不需要网络通信,也就是说,启动程序后,一人扮演多种玩家,实现游戏过程,最终分出胜负即可。对实现图形界面的同学可以考虑另行加分。
2.2 设计要求:
学生必须仔细阅读《数据结构》课程设计指导书,认真主动完成课设的要求。有问题及时主动通过各种方式与教师联系沟通。
学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。
课程设计按照教学要求需要一周时间完成,一周中每天(按每周5天)至少要上2小时的机来调试C语言设计的程序,总共至少要上机调试程序10小时。
根据设计报告要求编写设计报告。
每个人必须有可运行的程序,学生能对自己的程序面对教师提问并能熟练地解释清楚,学生回答的问题和程序运行的结果作为评分的主要衡量标准。
三 程序包括的功能:
随机发牌
打印当前玩家的手牌
判断玩家出牌的类型
自动删除已经出过得牌
判断玩家的牌是否符合出牌规则
判断出输赢
改变背景和字体颜色
四 主要功能的实现方法:
程序包括l.h,h.h,main.cpp两个文件。
(2)static deck* deck_init() 洗牌堆
static void player_init() 初始化玩家
static void handcard_init() 补全扑克牌
的信息如大小王
void print() 打印当前玩家手牌
void gc() 游戏初始化
static int require() 询问是否出牌
static void reset() 清空出牌缓冲区
static void buffer_put() 放牌进入缓冲区
static void turnstart() 定义界面
static int continuum(int num,int total) 判断是否连续
static int type_buffer() 获取缓冲区牌类型
static int level_buffer(int type) 获取缓冲区牌类等级
static void annealation() 除去走过的手牌
void turning() 回合循环
void turn_switch() 切换玩家
int main() 主函数
(3)char num[] 存储了扑克牌的数字
char* type_arr[] 存储牌的类型
char* sta_arr[2] 存储玩家的角色
typedef struck card 定义卡的存储结构
typedef struck players 定义玩家的存储结构
typedef struck games 定义桌面的存储结构
typedef struck buffers 定义出牌缓冲区
(4)main函数中调用gc()函数完成游戏初始化,再
调用turning函数完成游戏循环出牌,其次调用win()函数判断是否产生胜者,最后调用turn_swith()函数;另外应用#includewindows.h system(color, )来完成背景和字体颜色的改变。
五 所用到的数据结构知识:
H.h用到了顺序表存储结构的定义;
#ifndef __HEAD_H__
#define __HEAD_H__
#define MAXLEVEL 15
typedef struct DECK{
int top;
int arr[55];
}deck;
typedef struct PLAYERS{
int
文档评论(0)