本文共 1752 字,大约阅读时间需要 5 分钟。
PAGE
某某
工程实训报告
五子棋游戏
课程名称 C语言程序设计工程实训
姓 名
院(系)
专业班级
学 号
指导教师
某某大学教务处制
PAGE
PAGE 23
目 录 TOC \o "1-3" \h \z \u
1 需求分析 1
2 系统总框图和功能模块说明 1
2.1 系统总框图 1
2.2 功能模块说明 1
3 系统设计 2
3.1 主要结构体 2
3.2主要功能函数 2
3.3 关键函数的流程图 3
4.系统调试 5
5 总结 6
6 源程序清单 6
1 需求分析
系统以菜单方式工作
落子—输入
实时浏览功能--输出
存档,按文件查找。
2 系统总框图和功能模块说明
2.1 系统总框图
五子棋游戏
五子棋游戏
生成棋局
落子
判断是否赢棋
菜单链接
棋局存档
新的棋局
游戏设定
退出游戏
图1 系统总框图
2.2 功能模块说明
棋局生成模块:生成棋局
用户操作模块:用户落子,设定游戏等。
游戏判断模块:判断游戏哪方玩家赢得比赛,游戏是否结束。
3 系统设计
3.1 主要结构体
{short LineNo_Color=15,RowNo_Color=15,Check_Color=6,X_Color=10,O_Color=12,
Menu_Color=7,Game_Options_Color=7,Help_Color=7,Open_Sound=1,Auto_Save_Ending=1;
int Game_Over3( int (*a)[N] , int chess_symbol )/* "/"形呈龙 */
/*
以上全局变量依次表示:
行序号颜色,列序号颜色,棋盘格线颜色,玩家1的棋子'X'颜色,玩家2的棋子'O'颜色,游戏主菜单GAME_MENU颜色,
游戏设定菜单Game_Options颜色,"关于游戏"的颜色,是否开启游戏提示音,是否开启棋局终局自动保存
3.2主要功能函数
int main()
void About_Game( )/*游戏帮助*/ int Game_Options( )/*游戏设定*/ int Game_Over1( int (*a)[N] , int chess_symbol )/* "-"形或者"|"形呈龙(事实上"-"与"|"关于"\"对称) */ int Game_Over2( int (*a)[N] , int chess_symbol )/* "\"形呈龙 */int Game_Over3( int (*a)[N] , int chess_symbol )/* "/"形呈龙 */void Init_Chess( int (*a)[N] )/*初始化棋盘,置棋盘上无任何棋子*/int Load_Chess( int (*a)[N] )/*读取棋局*/int Load_Options( )/*读取游戏设定*/void Print_Chess( int (*a)[N] )/*输出棋局,或者说画棋盘*/int Save_Chess( int (*a)[N] , char* ss )/*保存棋局*/int Save_Options( )/*保存游戏设定*/int String_to_Int( char* s , int max )/*字符串条件转化成整型*/
3.3 关键函数的流程图
void Init_Chess( int (*a)[N] )/*初始化棋盘,置棋盘上无任何棋子*/
int String_to_Int( char* s , int max )/*字符串条件转化成整型*/
int main()
4.系统调试
菜单如上图:
5 总结
本次做的五子棋游戏,界面有点简陋,可观性不强,因为操作是要靠输入坐标的方式落子的,可操作性不强,希望能在以后的学习中能够努力的学习这方面的不足。由于这个游戏是人人对战的,而非人际对战,缺少可玩性,但愿能在日后的学习中做出人机对战的程序来,这无疑是需要强大的算法和坚实的基础,熟练的技巧的,这对我也是很大的挑战 。
6 源程序清单
#include
#include
#include
#define N 19
#define SetColor(x) SetConsoleT
转载地址:http://zdcpo.baihongyu.com/