C语言实现五子棋小游戏 下载本文

内容发布更新时间 : 2024/7/4 17:37:41星期一 下面是文章的全部内容请认真阅读。

C语言实现五子棋小游戏

# include # include # include

# include//插入输入输出头文件

# include//字符数组的函数定义的头文件

# include//stdlib 头文件即standard library标准库头文件stdlib 头文件里包含了C、C++语言的最常用的系统函数该 ,文件包含了C语言标准库函数的定义.

# define SPA 0//在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”。 “define”为宏定义命令。 # define MAN 1 # define COM 2

/* 空位置设为0 ,玩家下的位置设为1 ,电脑下的位置设为2 */ #define ORDEX 15

int qipan[ORDEX][ORDEX]; //自己定义的预处理函数,以二维数组形式构建棋盘 /* 15*15的棋盘 */

typedef struct//typedef的作用是在C中定义一个结构体类型 { int iFlag; int iX, iY;

}ScmPiece; int g_iPieceLen;

ScmPiece g_ScmGame1, g_ScmGame2;

void start(); /* 程序的主要控制函数 */ void draw(); /* 画棋盘 */

int Victory( ScmPiece * pScmPiece ); /* 判断胜利 p q为判断点坐标 */ void AI(int *p,int *q); /* 电脑下子 p q返回下子坐标 */ int value(int p,int q); /* 计算空点p q的价值 */

int qixing(int n,int p,int q); /* 返回空点p q在n方向上的棋型 n为1-8方向 从右顺时针开始数 */

void yiwei(int n,int *i,int *j); /* 在n方向上对坐标 i j 移位 n为1-8方向 从右顺时针开始数 */

void InitGame(){ int i;

g_iPieceLen = ORDEX * ORDEX; g_ScmGame1.iX = 0; g_ScmGame1.iY = 0; g_ScmGame1.iFlag = COM; g_ScmGame2.iX = 7; g_ScmGame2.iY = 7;

g_ScmGame2.iFlag = MAN; for( i=0; i < ORDEX*ORDEX; ++i ) *( (int*)qipan + i ) = SPA; }

void main() { char k; do{ InitGame(); start();

printf(\还要再来一把吗?输入y或n:\ while(k!='y'&&k!='n'){ printf(\输入错误,请重新输入\\n\ system(\ }while(k=='y'); printf(\谢谢使用!\\n\}

void MakePiece( ScmPiece * pScmPiece, int iGameFlag ){ if( iGameFlag ) {

printf(\请下子:\

while( scanf( \