- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综合大作业 编写一个五子棋游戏程序
一般来说,我们开发一个软件时要经过以下步骤:
确定软件的功能;
定义核心数据结构;
对整个软件进行功能模块划分;
编写程序实现各功能模块;
对源程序进行编译、调试,形成软件产品。
1、确定软件的功能:
编写一个五子棋游戏程序,开发这个五子棋的程序只要能提供一个能下五子棋的棋盘就可以了,两个玩家可以在这个棋盘上交替行棋,当某玩家已经走成五子相连的局面时,程序应能判定他赢棋。
2、定义核心数据结构
3、对整个软件进行功能模块划分
4、编写程序实现各功能模块
1)定义核心数据结构:
/**********************************************************/
/* 棋盘交叉点坐标的数据结构 */
struct point
{
int x,y;
};
/**********************************************************/
/* 定义全局变量 */
int gPlayOrder; /* 指示当前行棋方 */
struct point gCursor; /* 光标在棋盘上的位置 */
char gChessBoard[19][19]; /* 用于记录棋盘上各点的状态*/
/**********************************************************/
/* 定义符号常量 */
/*定义画棋盘所需的制表符*/
#define CROSSRU 0xbf /*右上角点*/
#define CROSSLU 0xda /*左上角点*/
#define CROSSLD 0xc0 /*左下角点*/
#define CROSSRD 0xd9 /*右下角点*/
#define CROSSL 0xc3 /*左边*/
#define CROSSR 0xb4 /*右边*/
#define CROSSU 0xc2 /*上边*/
#define CROSSD 0xc1 /*下边*/
#define CROSS 0xc5 /*十字交叉点*/
/*定义棋盘左上角点在屏幕上的位置*/
#define MAPXOFT 5
#define MAPYOFT 2
/*定义1号玩家的操作键键码*/
#define PLAY1UP 0x1157/*上移--W*/
#define PLAY1DOWN 0x1f53/*下移--S*/
#define PLAY1LEFT 0x1e41/*左移--A*/
#define PLAY1RIGHT 0x2044/*右移--D*/
#define PLAY1DO 0x3920/*落子--空格键*/
/*定义2号玩家的操作键键码*/
#define PLAY2UP 0x4800/*上移--方向键up*/
#define PLAY2DOWN 0x5000/*下移--方向键down*/
#define PLAY2LEFT 0x4b00/*左移--方向键left*/
#define PLAY2RIGHT 0x4d00/*右移--方向键right*/
#define PLAY2DO 0x1c0d/*落子--回车键Enter*/
/*若想在游戏中途退出, 可按 Esc 键*/
#define ESCAPE 0x011b
/*定义棋盘上交叉点的状态, 即该点有无棋子 */
/*若有棋子, 还应能指出是哪个玩家的棋子 */
#define CHESSNULL 0 /*没有棋子*/
#define CHESS1 O/*一号玩家的棋子*/
#define CHESS2 X/*二号玩家的棋子*/
/*定义按键类别*/
#define KEYEXIT 0 /*退出键*/
#define KEYFALLCHESS 1 /*落子键*/
#define KEYMOVECURSOR 2 /*光标移动键*/
#define KEYINVALID 3 /*无效键*/
/*定义符号常量: 真, 假 --- 真为1, 假为0 */
#define
文档评论(0)