五子棋c语言版源程序,五子棋的源程序

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

,上学期大专班学习C时,学生边学边做,老师边提示,30个人最后有一半做出,贴出较好的给大家分享,适合初学者哦。教师最初的参考出处,好像是一张C教学光盘上的..........,该光盘学生是没有的。

/**********************************************************/

/*      本程序在Win-TC下编译通过                          */

/**********************************************************/

/**********************************************************/

/* 程序中用到的库函数所在头文件应用 #include 命令包含进来 */

#include 

#include 

#include 

#include 

#include 

/**********************************************************/

/* 定义符号常量                                           */

/*定义画棋盘所需的制表符*/

#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 TRUE        1

#define FALSE       0

/**********************************************************/

/* 定义数据结构                                           */

/*棋盘交叉点坐标的数据结构*/

struct point

{

int x,y;

};

/**********************************************************/

/*自定义函数原型说明                                      */

void Init(void);

int  GetKey(void);

int CheckKey(int press);

int  ChangeOrder(void);

int  ChessGo(int Order,struct point Cursor);

void DoError(void);

void DoOK(void);

void DoWin(int Order);

void MoveCursor(int Order,int press);

void DrawCross(int x,int y);

void DrawMap(void);

int  JudgeWin(int Order,struct point Cursor);

int  JudgeWinLine(int Order,struct point Cursor,int direction);

void ShowOrderMsg(int Order);

void EndGame(void);

/**********************************************************/

/**********************************************************/

/* 定义全局变量                                           */

int  gPlayOrder;         /*指示当前行棋方          */

struct point gCursor;    /*光标在棋盘上的位置      */

char gChessBoard[19][19];/*用于记录棋盘上各点的状态*/

/**********************************************************/

一个很好的五子棋c语言源程序代码,最重要的是能运行正确!!! #include #include #include #include #include #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/*无效键*/ 下载可看到完整的...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值