- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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(),通过判断横,竖,左斜,右斜有没有五子连成一
您可能关注的文档
最近下载
- 第6章--新型萃取分离技术.ppt VIP
- (人教2024版)英语七年级上册Unit 2.2 Section A Pronunciation-2e课件(新教材).pptx
- 肌筋膜触发点及肌筋膜疼痛综合征 完整版.ppt VIP
- SONY 索尼 专业产品专业摄像机摄录一体机PMW-EX1R使用说明书.pdf VIP
- gd08462中铁联集装箱轨道吊使用说明书.pdf VIP
- 2012全国法律硕士(非法学)专业基础课真题.doc VIP
- 中现代文学史教学课件电子教案全套课件.pptx VIP
- 2022年建行校园招聘笔试真题.pdf
- 心脏超声定量分析技术临床应用新进展题库答案-2025年华医网继续教育.docx VIP
- IgA肾病诊断.ppt VIP
文档评论(0)