c五子棋课设说明书含完整源代码.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
******************* 实践教学 ******************* ****大学 计算机与通信学院 2016年春季学期 C程序设计 课程设计 I 第1章 序 言 1 1.1 设计背景 1 1.2 设计目的 1 第2章 需求分析 2 第3章 程序总体设计 3 3.1程序总体框架图 3 3.2 程序流程图 4 第4章 程序详细设计 5 4.1 各类头文件及自定义函数 5 4.2 棋盘数组 5 4.3 开始界面函数 5 4.4 棋盘界面函数 5 4.5 胜负判断函数 6 4.6 得分判断函数 6 4.7 主函数 6 第5章 系统测试 7 5.1开始界面测试 7 5.2棋盘界面测试 8 5.3玩家输赢界面测试 11 设计总结 13 参考文献 14 致 谢 15 附录(源代码) 16 第1章 序 言 1.1 设计背景 五子棋相传起源于四千多年前的尧帝时期,比围棋的历史还要悠久,可能早在“尧造围棋”之前,民间就已有五子棋游戏。有关早期五子棋的文史资料与围棋有相似之处,因为古代五子棋的棋具与围棋是完全相同的。在上古的神话传说中有“女娲造人,伏羲做棋”一说,《增山海经》中记载:“休舆之山有石焉,名曰帝台之棋,五色而文状鹑卵。”李善注引三国魏邯郸淳《艺经》中曰:“棋局,纵横各十七道,合二百八十九道,白黑棋子,各一百五十枚”。这段虽没明讲是何种棋类,但至少知道远古就以漂亮的石头为棋子。因而规则简单的五子棋也可能出自当时,并是用石子作棋子。亦有传说,五子棋最初流行于少数民族地区,以后渐渐演变成围棋并在炎黄子孙后代中遍及开来。在古代,五子棋棋具虽然与围棋相类同,但是下法却是完全不同的。正如《辞海》中所言,五子棋是“棋类游戏,棋具与围棋相同,两人对局,轮流下子,先将五子连成一行者为胜”。 传统五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。 因为传统五子棋只能实现人人对战,而用计算机编程能够实现人机对战,一个人的时候也能体验五子棋的乐趣。因此我们设计了一款人机对战的五子棋游戏。 1.2 设计目的 五子棋游戏不仅能增强人们的抽象思维能力、逻辑推理能力、空间想象力,提高人们的记忆力、心算能力等,而且深含哲理,有助于修身养性。五子棋既有现代休闲方式所特有的特征“短、平、快”又有中国古典哲学所包含的高深学问“阴阳易理”它既有简单易学的特点,为人民群众所喜闻乐见,又有深奥的技巧;既能组织举办群众性的比赛、活动,又能组织举办高水平的国际性比赛;它的棋文化源渊流长,具有东方的神秘和西方的直观,它是中西方文化的交融点,也是中西方文化交流的一个平台。 ?自从计算机作为游戏对战平台以来,各种棋类游戏如雨后春笋般纷纷冒出。五子棋是一种受大众广泛喜爱的游戏,其规则简单,变化多端,非常富有趣味性和消遣性。同时具有简单易学、既动手又动脑的特点。同时也为锻炼自己的编程能力。 3.2 程序流程图 程序详细设计 4.1各类头文件及自定义函数 #includegraphics.h // 图形库头文件 #include conio.h // 控制台输入输出,包含getch()函数 #includetime.h//时间函数 #include stdlib.h//随机函数头文件 void start (); // 开始界面 void chessboard(); // 布置棋盘 int score (int m,int n,int k); // 打分函数 int judge (int m,int n,int k); // 设置判断输赢自定义函数 4.2棋盘数组 int a[16][16]; // 定义全局二维数组,作为虚拟棋盘,记录棋盘情况:0 代表空格 1 代表人下的棋 2 代表电脑下的棋 。 4.3开始界面start()函数模块 initgraph()函数用于定义界面的宽度和长度, loadimage()用于加载电脑相应位置的图片,使其作为背景图片铺满界面,setbkmode()用于界面文字的背景颜色, settextcolor()用于定义文字的颜色, settextstyle()用于定义文字的风格, outtextxy()用于在指定坐标输出文字。 4.4棋盘界面chessboard()函数 initgraph()函数用于定义界面的宽度和长度, Setbkcolor()函数用于定义背景颜色, 通过for()循环画15*15的棋盘界面, 画棋盘线条用lineh()函数, settextcolor()用于定义文字的颜色, settextstyle()用于定义文字的风格, outtextxy()用于在指定坐标输出文字。 4.5胜负判断judge()函数 定义int型函数judge(),通过判断横,竖,左斜,右斜有没有五子连成一

文档评论(0)

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

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

1亿VIP精品文档

相关文档