五子棋课程设计论文(附代码).docx

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
五子棋课程设计论文(附代码)

需求分析1.1、课题背景和意义五子棋一种两人对弈的纯策略型棋类游戏,由古代的传统黑白棋演化而来,相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。迅速发展于日本,流行于欧美。容易上手,老少皆宜,而且趣味横生,引人入胜;不仅能增强思维能提高智力,而且富含哲理,有助于修身养性。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。五子棋是一种益智的游戏,他可以提高人们的反应能力。尤其是在开发人们的智力方面,很受人们的欢迎。《数据结构课程设计》是一门实践性的计算机课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践。通过这次课程设计,要求掌握较大程序的设计方法,相应数据结构的选择应用、算法的设计及其实现和性能分析等方面中加深对课程基本内容的理解。同时,在设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。1.2、课题要求1.2.1、设计一个20*20大小的棋盘进行和电脑对战游戏1.2.2、实现电脑智能和玩家对战,能实现智能攻防,迅速对局势作出判断并下棋.1.3、软件格式规定1.3.1、输入形式:玩家输入棋子要下位置的纵横坐标,棋子下到相应的位置1.3.2、程序所能达到的的功能:实现20行20列的棋盘,电脑能对局势作出判断并正确下棋对玩家做出攻防1.3.3、程序能更新到当前局势1.4、设计目标1.4.1、软件名称:五子棋游戏1.4.2、制作平台及调试工具:Win32;Microsoft visual studio 20101.4.3、运行环境:系统:dos/winxp/win71.4.4、性能特点:软件体积小,高效快捷,实用性好,兼容性好。2、设计概要:2.1、问题解决思路2.1.1、初始化模块:即屏幕初始化,显示20*20格的棋盘。系统默认玩家先下,电脑后下2.1.2、棋盘模块:显示棋盘和棋子,棋盘设计为20*20格的二维平面图,背景颜色为蓝色,棋子为黑白色。2.1.3、判断模块:判断上下左右左上右上左下右下是否有五个颜色相同的颜色,如果有就游戏结束,显示胜利方,否则,游戏双方继续落子。而当棋盘已满,即数组空间已满的时候,结束程序,显示和局。2.2、相关函数介绍说明const char outstr[11][4]={} //定义组成棋盘的字符void jushi() //判断局势的函数void computer(int a[20][20]) // 电脑落子的函数memset(cm,0,sizeof(cm)); //清除旧棋盘的函数int a[20][20]={} //组成棋盘的函数int judge(intx,inty,int sum){} //判断胜负的函数 system (color 2f); //控制棋盘颜色的函数system (mode con cols=50 lines=25)2.3、主程序流程及函数调用说明图12.4、各函数调用情况2.4.1、utstr[]数组,以调用inta[][]数组,组成棋盘界面及相关的界面操作方法。2.4.2、memset()函数,以调用xiazi数组函数,对下棋位置做出判断,看此位置是否合法,更新棋盘。2.4.3、mputer()函数,调用a数组,电脑根据棋手下的棋做出判断并做出回应。2.4.4、一步棋都要更新棋盘,所以都要调用到outstr[]数组,调inta[]然后调用computer()函数,电脑做出下棋判断。3、详细设计3.1、棋盘的实现,用for循环实现列号的输出,过定义outstr[][]数组,调用inta数组,实现棋盘的显示。通过循环调用int a[][]数组,输出相应的字符,实现棋盘。while()循环,输入所要下子的坐标并作出相应判断。3.2、智能对玩家所下的棋子做出判断,并智能地做出反应,实现攻防,与玩家对战。3.3、循环调用outstr[][]数组和int a数组,更新棋盘,显示最新局势。3.4、int judge(intx,inty,int sum) 判断胜负的函数。运用for结构和if结构实现判断,或横、或竖、或斜,有相同的五个颜色的棋子就胜利。3.5、有一方胜利或棋盘

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档