测绘程序设计C语言程序设计.doc
《测绘程序设计C语言程序设计.doc》由会员分享,可在线阅读,更多相关《测绘程序设计C语言程序设计.doc(27页珍藏版)》请在沃文网上搜索。
1、五子棋游戏程序开发目 录第一章 程序设计目的和要求11.1 课程设计的目的11.2 课程设计实现的要求1第二章 五子棋程序概述2第三章 系统设计33.1 设计目标33.2 开发及运行环境33.3 需求分析3第四章 系统模块分析 4 4.2 总体模块分析44.3 功能模块分析54.4 控制模块分析5第五章 五子棋程序设计75.1 游戏规则75.2 预处理75.3 声明变量75.4 主函数75.5 设置棋盘模式75.6 开始游戏85.7 进入游戏界面95.8 游戏过程95.9 判断胜负结果11第六章 程序设计心得与体会12附录一 五子棋程序源代码13附录二 程序运行结果20附录三 参考文献23第一
2、章 程序设计的目的和要求1.1 课程设计的目的进一步巩固C程序设计所学的知识,特别加强数组、指针、结构体、文件数据类型的应用,熟悉面向过程的结构化和面向对象可视化程序设计方法,培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解,锻炼程序设计能力,以及用C/C+语言解决实际问题的能力,为以后后续课程的学习打好坚实的基础。此课程设计着眼于知识点运用,把平常学的知识运用到课程实践中来,本身就是考察我们知识运用能力。要求熟悉运用一些编程软件(如:Microsoft Visual C+ 6.0及Turbo C+ 2.0),对我们所学的理论知识进一步的深化。1.2 程序设计实现的要求测绘
3、程序设计是综合应用所学过的C语言的基础理论知识,自行设计并实现一个较为完善的应用系统。从而为学生提供一个将理论运用于实践的机会,使大家能够学以致用,从而提高学生实践编程能力,在设计过程中培养学生的团队合作精神及创新能力。同时,从软件工程角度,也能初步树立正确的程序设计思想,从系统分析、系统设计、系统实现、系统评价出发,培养分析问题、解决问题的能力,还可以使大家提高收集、查阅资料和撰写项目文档的能力。第二章 五子棋程序概述 相信很多人都会玩五子棋游戏,当游戏的一方构成5个连续的棋子,无论是水平方向,竖直方向,还是斜对角线方向,都表示获胜了。五子棋是起源于中国古代的传统黑白棋种之一,不仅能增强思维
4、能力,提高智力,而且富含哲理,有助于修身养性。五子棋既有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;既具有简单易学的特性,为人们所喜爱,又有深奥的技巧和高水平的国际性比赛。五子棋文化源远流长,具有东方的神秘河西方的直观;既有“场”的概念,亦有“点”的连接。五子棋起源于直观古代,发展于日本,风靡于欧洲,可以说它是中西方文化的交流点,是古今哲学的结晶。为了丰富用户的生活娱乐,特开发此五子棋程序。第三章 系统设计3.1 设计目标本系统属于典型的棋牌类游戏,是针对网络开发的对弈游戏。通过本系统可以达到以下目标:1.灵过的操作,可以自动判断胜负。2.系统采用良好的人机对话模式,
5、界面设计美观、友好。3.系统运行稳定、安全可靠。3.2 开发及运行环境系统开发平台:Visual C+ 6.0。运行平台:Windows XP/Windows 2003。分辨率:最佳效果1024768像素。3.3 需求分析通过调查,要求系统具有以下功能:1.为了体现良好的娱乐性,要求系统具有良好的人机交换界面。2.完全人性化设计,无需专业人士指导,即可操作本系统。3. 自动完成胜负判断,避免人为错误。第四章 系统模块分析4.1 总体模块分析NYNY开始接收键盘按键绘制棋盘调用control函数进行游戏判断某方是否有五个棋子连线游戏结束4.1-1 总体模块分析图判断输入的是否为Y键4.2 功能模
6、块分析1.主函数:游戏程序的总结构int main( ) void startGame( ); startGame( ); return 0;2.游戏初始化void startGame( );3.设置棋盘模式 void init( );4.进入游戏界面 void printChessBoard( );5.控制棋子移动void control( );6.判断是否某方有五个棋子在一条直线上int checkGameOver( );7.控制游戏界面的背景色和前景色system(color 2e);8.清除屏幕内容system(cls);4.3 控制模块分析1.向上移动棋子 void up( )if
7、(focus_x = 20)focus_x = 20;elsefocus_x+;3.向左移动棋子 void left( )if (focus_y = 20)focus_y = 20;elsefocus_y+;5.落棋子 void go( )int chessman = arrayfocus_xfocus_y;if (chessman = 0) if (player1 = 1) arrayfocus_xfocus_y = 1; player1 = 0; player2 = 1; else arrayfocus_xfocus_y = 2; player1 = 1; player2 = 0; 第五章
8、 五子棋程序设计5.1 游戏规则本游戏棋子分为1和2两种,哪种棋子先满足下列任一个条件即为获胜:1.水平方向五个棋子无间断相连;2.竖直方向五个棋子无间断相连;3.竖直方向向左倾斜45方向五个棋子无间断相连;4.竖直方向向右倾斜45方向五个棋子无间断相连;5.2 预处理在本系统中需要应用一些头文件,这些头文件可以帮助程序更好的运行。头文件的引用时通过#include命令实现的,下面即为本程序中所引用的头文件:#include /*输入输出函数*/#include /*常用子程序*/#include /*数组函数*/5.3 声明变量 int array2121; /*棋子的横纵坐标*/int f
9、ocus_x; /*光标停留的横坐标*/int focus_y; /*光标停留的纵坐标*/int player1; /*玩家1*/int player2; /*玩家2*/int winner; /*获胜者*/5.4 主函数 程序运行时,首先从main函数开始,终止于main函数。程序代码如下: int main( ) void startGame( ); startGame( ); return 0; 5.5 设置棋盘模式 在开始游戏时首先设置棋盘模式,画出棋盘。代码如下: void init( ) /*设置棋盘模式*/int i, j; for (i=0; i21; i+) for (j=0
10、; j21; j+) arrayij = 0; /*棋子落点处初始值为0*/ player1 = 1; player2 = 0; focus_x = 10; /*光标的横坐标初始值为10*/ focus_y = 10; /*光标的纵坐标初始值为10*/ 5.6 开始游戏在执行main函数时,调用了StartGame( )函数,用于开始游戏的执行。开始游戏的代码如下:void startGame( ) /*开始游戏*/void init( );void printChessBoard( );void control( );int checkGameOver( );char a;system(co
11、lor 2e);printf(nn*欢迎进入五子棋游戏! *nn”); printf(游戏规则:nnw s a d为上下左右n每个操作需按Enter确认(比如上要按w再按Enter)n走棋为k.nnn);printf(在游戏过程中不得终止或退出退出游戏nnn);printf(*”);printf(“nn你是否接受上述游戏规则(Y/N):”);scanf(“%c”,&a);if(a=Y|a=y)init( );elsereturn; while (winner = 0) printChessBoard( ); control( ); checkGameOver( ); printChessBoa
12、rd( ); /*画棋盘*/ printf(nPlayer%d is the winner!nn, winner); system(pause); /*系统暂停,退出程序*/ 5.7 进入游戏界面在startgame( )函数中,如果没有获胜者,则进入游戏界面。代码如下:void printChessBoard( ) /*进入游戏界面*/int i, j;system(cls); /*其作用是清除屏幕*/printf(游戏规则:nw s a d为上下左右,每个操作需按Enter确认(比如上要按w再按Enter),走棋为k.n); for (i=0; i21; i+) /*显示棋盘*/for (
13、j=0; j21; j+) if (i=focus_x & j=focus_y) printf(b%d , arrayij); else printf(%-3d, arrayij); printf(n); if (winner = 0) if (player1 = 1) printf(Player1: ); else printf(Player2: );5.8 游戏过程在自定义函数control( )中,主要实现了五子棋游戏的具体过程。在游戏过程中,程序会判断键盘输入的键值,如果使用的是wsad,即可在棋盘中移动棋子。代码如下:void control( ) /*控制移动操作*/void up
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 测绘 程序设计 语言程序设计
