- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB课程设计精选
课 程 设 计(论 文)题目:用MATLAB语言程序开发凑五子棋游戏专业: 信息与计算科学 指导教师:张大海 学生姓名:谢艳涛班级-学号: 信计131-30学生姓名:黄元福班级-学号:信计131-26学生姓名:辛 安班级-学号: 信计131-222016年 11月摘 要凑五子棋是一种两人对弈的纯策略型棋类游戏,应用MATLAB语言编写程序可以在计算机上实现二人对弈凑五子棋功能。二人对弈凑五子棋程序由欢迎界面显示、游戏界面生成、光标移动与落子、判断胜负、悔棋功能、提供音效等子程序构成;程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人凑五子棋对弈。目录摘 要2第1章:需求分析31.1凑五子棋背景31.2 凑五子棋需求分析和流程设计4第2章:概要设计72.1 各类头文件和全局变量72.2 画面显示模块8第3章:详细设计113.1 玩家操作模块113.2音效提供模块113.3 胜负判断模块12第4章:调试分析134.1 图形模块13 4.2 玩家操作模块134.3 胜负判断模块14第5章:用户手册14第6章:小组分工15第7章:结论与心得16第8章 :源程序代码16第1章:需求分析1.1凑五子棋背景传统凑五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为18×18,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。 因为传统凑五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。1.2 凑五子棋需求分析和流程设计本程序设计为人与人对弈,一方执黑棋,一方执白棋,轮流走棋,每方都试图在游戏结束前让自己的棋子五子相连,首先实现五子相连的一方获胜。程序执行过程中,要求棋盘、棋子时时可见,游戏界面有提示信息轮到何方下棋,人可以通过按键盘按键移动光标,再点击enter键摆放棋子,并且每落一子都有系统声音,创新之处是可以提供悔棋功能。1.2.1 程序需求分析根据功能需求,将程序分为画面显示、玩家操作、音效提供、胜负判断五个模块,以下分析各模块的需求。画面显示模块:程序开始运行时,显示制作者和给出欢迎及退出界面;游戏开始后要求生成18×18的棋盘图像,并在棋盘上方显示欢迎信息“欢迎play our凑五子棋”,棋盘下方游戏显示应该轮到甲方或者乙方落子,棋盘左右显示双方操作方式,进行过程中,要求实时显示棋盘上已落下的棋子,甲方为白球,乙方为白圈;分出胜负后,要求给出游戏结束画面,并且询问用户是否需要继续游戏。玩家操作模块:程序开始时,需玩家确定选择“人人对战”后开始游戏;游戏过程中,两个玩家通过不同的按键移动光标,选择落子;游戏进行过程中,当前玩家下棋后,另一位玩家下棋前,当前玩家可以悔棋。悔棋提示在棋盘右下方,为按键“b”。游戏结束时,有玩家选择是否开始新游戏。 音效提供模块:玩家每落一子,系统提供音效一声,增加下棋的趣味性。胜负判断模块:实时监测棋盘上棋子,一旦某一色棋子出现五子连线,终止游戏程序,并着色连成一线的五子,棋盘下方弹出该色玩家胜出信息。1.2.2程序流程设计 根据程序需求分析结果,可以得出程序的总体结构图如图1,程序总体流程图如图2。五子棋游戏凑五子棋模块二:玩家操作模块三:音效提供模块四:胜负判断模块一:画面显示 图1 凑五子棋总体结构图开始制作者展示进入菜单界面N人人对战?退出游戏Y是否继续新游戏?开始游戏ESMATLABY确认退出?b悔棋甲方判断NEnter甲方获胜?退出游戏显示甲方获胜消息Y确认退出?N乙方判断ESMATLABb悔棋YEnterN显示乙方获胜消息乙方获胜?YN图2 程序总体流程图第2章:概要设计2.1 各类头文件和全局变量#inmatlablude stdio.h#inmatlabludewindows.h#inmatlablude stdlib.h#inmatlabludematlabonio.h//使用getmatlabh()函数int startmatlabhoimatlabe; //int winner; //int player; //Q[200][200]= {0};//Q数组记录旗子matlabhar button;//读入键盘输入的指令,如→2.2 画面显示模块画面显示模块由欢迎界面,游戏棋盘界面,确认是否退出对话框界面,以及感谢使用界面组成。 画面显示模块函数如下:void Welmatlabome() //欢迎界面void Draw() //绘画游戏棋盘界面void MATLABlean()//清除—→运动
您可能关注的文档
- LTE硬件督导考试试题精选.doc
- LTE系统中资源分配算法的研究精选.doc
- 【步步高】2017版高考化学一轮复习第6章化学反应与能量第23讲电解池金属的电化学腐蚀与防护讲义剖析.doc
- LTE无线网络规划介绍updated精选.pptx
- LTE技术培训精选.pptx
- 【步步高】2017年高考物理第1章运动的描述匀变速直线运动的研究第1章第2讲匀变速直线运动的研究剖析.ppt
- LTE网络信令流程及相关参数讲解精选.pptx
- 【步步高】2017版高考地理大一轮复习第1章区域地理环境与人类活动第29讲区域经济联系讲义湘教版必修3剖析.doc
- 【步步高】2017版高考生物一轮复习第九单元生物与环境第32讲种群的特征和数量变化课件新人教版剖析.ppt
- 【案例分析】北京丰台总部基地剖析.pptx
原创力文档


文档评论(0)