c语⾔编程国际象棋盘,C语⾔由国际象棋编写.doc C语⾔由国际象棋编写
井字旗C语⾔程序:
运⾏环境:Turbo C/C++for Windows集成实验与学习环境或VC++6.0
#define MAX 3
#define Status int
#define HUMAN_WIN 0 //⼈取得了胜利
#define DRAW 1 //平局
#define PLAYING 2 //没有决出胜负,正在进⾏游戏
#define COMPUTER_WIN 3 //电脑取得了胜利
#define HUMAN 0 //⼈
#define COMPUTER 1 //机器
#define EMPTY 2 //空
#define FALSE 0 //假
#define TRUE 1 //真
#include
#include "malloc.h"
//记录⼀步棋所需的所有信息:⾏数,列数,判断值
typedef struct
{
int column;
int row;
int val;
}Nodes;
int board[MAX][MAX];
//InitBoard初始化棋盘
Status InitBoard()
{
int row,column;
for(row=0; row
for(column=0; column
board[row][column]=EMPTY;
return TRUE;
}
/
/PostionIsEmpty判断在棋盘上在给定的置是否为空Status PositionIsEmpty(int row , int column)
{
if(board[row][column]==2)
编程语言下载return TRUE;
else
return FALSE;
}
//Place在指定的地⽅落⼦
Status Place(int row,int column, int piece)
{
board[row][column]=piece;
return TRUE;
}
//BoardIsFull判断棋盘是否⼰满
Status BoardIsFull()
{
int i=0,j=0;
for(i=0;i
for(j=0;j
{
if(board[i][j] ==2)
return FALSE;
}
return TRUE;
}
//IsWin判断是否有⼀⽅⼰经胜利
Status IsWin( int side )
{
int row, column;
//判断⼀⾏
for( row = 0; row < MAX; row++ )
{
for( column = 0; column < MAX; column++ )
if( board[ row ][ column ] != side )
break;
if( column >= MAX )
return TRUE;
}
//判断⼀列
for( column = 0; column < MAX; column++ )
{
for( row = 0; row < MAX; row++ )
if( board[ row ][ column ] != side )
break;
if( row >= MAX )
return TRUE;
}
//判断主对⾓线
if( board[ 1 ][ 1 ] == side && board[ 2 ][ 2 ] == side && board[ 0 ][ 0 ] == side )
return TRUE;
//判断副对⾓线
if( board[ 0 ][ 2 ] == side && board[ 1 ][ 1 ] == side && board[ 2 ][ 0 ] == side )
return TRUE;
return FALSE;
}
/
/PositonValu

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。