2000行C代码实现简易版“阿尔法狗”

2000行代码实现简易版“阿尔法狗”C语言

众所周知,“阿尔法狗”是围棋AI,击败了一众围棋高手,小编也尝试写了一个会下五子棋的程序,不过根本谈不上“人工智能”,距离“阿尔法狗”更是天差地别,不过确实可以实现人机对弈(棋艺也还不算太菜…吧…)
首先,需要构建五子棋的基本游戏框架,5sc.c文件就是构建了一个五子棋游戏(大约260行代码);AI.c文件内是实现程序自动下棋的代码,也是程序的核心(大约1700行)。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

5sc.c

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAX_ROW 12
#define MAX_COL 12
#define DEBUG 
int a,b,AIMOVE=0;
char chess_board[MAX_ROW][MAX_COL];
#include"AI.c"
int menu()
{
	printf("=========================\n");
	printf("1.开始游戏\n");
	printf("0.结束游戏\n");
	printf("=========================\n");
	printf("请输入您的选择:");
	int choice = 0;
	scanf("%d", &choice);
	return choice;
}

void InitializeChessBoard()
{
	int row,col;
	for ( row = 0; row < MAX_ROW; row++)
	{
		for ( col = 0; col < MAX_COL; col++)
        {
			chess_board[row][col] = ' ';
		}
	}
}

void Print()
{
	int row,col,i;
    printf("  ");
    for ( i = 1; i <=MAX_COL; i++)
    {
        printf("  %d ",i%10);
    }
    printf("\n  ");
    for( i=1;i<=MAX_COL;i++)
                printf(" ---");
			printf("\n");
	for ( row = 0; row < MAX_ROW; row++)
    {
        printf("%2d|",row+1);
        for( col=0;col<MAX_COL;col++)
        {
            printf(" %c |",chess_board[row][col]);
        }
        printf("\n  ");
		if (row!= MAX_ROW)
        {
            for( i=1;i<=MAX_COL;i++)
                printf(" ---");
			printf("\n");
		}
	}
}

void PlayerMove()
{
	printf("轮到您落子!\n");
	while (1){
		printf("请输入落子位置的坐标(row col):");
		int row = 0;
		int col = 0;
		scanf("%d %d", &a, &b);
        row=a-1;col=b-1;
		//检查输入//
		if (row < 0 || row >= MAX_ROW ||
			col < 0 || col >= MAX_COL){
			printf("坐标超出范围,请重新输入\n");
			continue;
		}
		if (chess_board[row][col] != ' '){
			printf("坐标已被占用!\n");
			continue;
		}
		chess_board[row][col] = '*';
		break;
	}
	printf("您已落子!\n");
}

int ComputerMove()
{
    int AI(void);
	printf("轮到阿尔法锋落子!\n");
    AIMOVE=AI();
	/*while (1)
    {
		int row = rand() % MAX_ROW;
		int col = rand() % MAX_COL;
		if (chess_board[row][col] != ' ')
        {
			continue;
		}
		chess_board[row][col] = 'o';
		break;
	}*/
	printf("阿尔法锋落子完毕!\n");
}

//如果棋盘满了,返回1,否则返回0//
int ChessBoardIsFull()
{
	int row,col;
	for ( row = 0; row < MAX_ROW; ++row)
    {
		for ( col = 0; col < MAX_COL; col++)
        {
			if (chess_board[row][col] == ' ')
            {
				return 0;
			}
		}
	}return 1;
}
//返回胜利者    q和//
char  CheckWinner()
{
	int row,col;
	if (ChessBoardIsFull())
    {
		return'q';
	}
    //检查行
    for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<MAX_COL-4;col++)
        {
            if(chess_board[row][col]!=' ')
            {
                int chess=1,check;
                for( check=1;check<=4;check++)
                {
                    if(chess_board[row][col]==chess_board[row][col+check])
                        chess++;
                }
                if ( chess==5)
                {
                    return chess_board[row][col];
                }
            }
        }
    }
	//检查列
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<MAX_ROW-4;row++)
        {
            if(chess_board[row][col]!=' ')
            {
                int chess=1,check;
                for( check=1;check<=4;check++)
                {
                    if(chess_board[row][col]==chess_board[row+check][col])
                        chess++;
                }
                if ( chess==5)
                {
                    return chess_board[row][col];
                }
            }
        }
	}
	//检查所有对角线  '\'  //
	for( row=0;row<(MAX_ROW-4);row++)
    {
        for( col=0;col<(MAX_COL-4);col++)
        {
            if(chess_board[row][col]!=' ')
            {
                int chess=1,check;
                for( check=1;check<=4;check++)
                {
                    if(chess_board[row][col]==chess_board[row+check][col+check])
                        chess++;
                    else
                        break;
                }
                if(chess==5)
                    return chess_board[row][col];
            }
            
        }
    }
	//检查所有对角线  '/'  //
    for( row=MAX_ROW-1;row>=4;row--)
    {
        for( col=0;col<MAX_COL-4;col++)
        {
            if(chess_board[row][col]!=' ')
            {
                    int chess=1,check;
                for( check=1;check<=4;check++)
                {
                    if(chess_board[row][col]==chess_board[row-check][col+check])
                        chess++;
                    else
                        break;
                }
                if(chess==5)
                    return chess_board[row][col];
            }
        }
    }
	return ' ';

}
void game()
{
	//初始化//
	InitializeChessBoard();
	char winner = ' ';
	while (1)
    {
		//打印//
		Print();
		//人//
		PlayerMove();
		//检测胜负//
		winner = CheckWinner();
		if (winner != ' ')
        {
			break;
		}
		//电脑
		ComputerMove();
		#ifdef DEBUG
		printf("%d\n",AIMOVE);
		#endif
		winner = CheckWinner();
		if (winner != ' ')
        {
			break;
		}
	}
	Print();
	if (winner == '*')
        printf("\n\t恭喜你赢了阿尔法锋!\n阿尔法锋还会继续完善的!\n");
	else if (winner == 'o')
        printf("很遗憾,您输给了阿尔法锋!!\n");
	else if (winner == 'q')
		printf("平局!\n");
}

int main()
{
	while (1)
    {
		int choice = menu();
		if (choice == 1)
            game();
		else if (choice == 0)
		{
			printf("游戏结束!");
			break;
		}
		else
			printf("输入有误!");
	}
	return 0;
}

AI.c


int AI(void)
{
	int row,col,chess,check,count,dangerous; 
    srand((unsigned int)time(0));

    //o4//
    for (row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row][col+check]=='o')
                        chess++;
                }
                if (chess==4)
                {
                    if((chess_board[row][col+4]==' ')&&(col+4<MAX_COL))
                        {chess_board[row][col+4]='o';return 1;}
                    else if((chess_board[row][col-1]==' ')&&(col-1>=0))
                    {chess_board[row][col-1]='o';return 2;}
                }
            }
        }
    }
   //o检查列4//
	for (col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<MAX_ROW;row++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row+check][col]=='o')
                        chess++;
                }
                if ( chess==4)
                {
                    if(chess_board[row+4][col]==' ')
                    {chess_board[row+4][col]='o';return 3;}
                    else if(chess_board[row-1][col]==' ')
                    {chess_board[row-1][col]='o';return 4;}
                }
            }
        }
    }
                
	//o检查所有对角线  '\' 4 //
	for(row=0;row<MAX_ROW;row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if((chess_board[row+check][col+check]=='o')&&(col+3<MAX_COL))
                        chess++;
                }
                if(chess==4)
                {
                    if((chess_board[row+4][col+4]==' ')&&(col+4<MAX_COL))
                    {chess_board[row+4][col+4]='o';return 5;}
                    else if((chess_board[row-1][col-1]==' ')&&(col-1>=0))
                    {chess_board[row-1][col-1]='o';return 6;}
                }
            }
        }
    }
                
	//o检查所有对角线  '/' 4 //
    for( row=MAX_ROW-1;row>=0;row--)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row-check][col+check]=='o')
                        chess++;
                }
                if(chess==4)
                {
                    if((chess_board[row-4][col+4]==' ')&&(col+4<MAX_COL))
                    {chess_board[row-4][col+4]='o';return 7;}
                    else if((chess_board[row+1][col-1]==' ')&&(col-1>=0))
                    {chess_board[row+1][col-1]='o';return 8;}
                }
            }
        }
    }
	//** **//
	for(row=0;row<MAX_ROW;row++)
	{
		for( col=0;col<MAX_COL;col++)
		{
			if(chess_board[row][col]==' ')
			{
				if((chess_board[row][col+1]=='*')&&(chess_board[row][col+2]=='*')&&(chess_board[row][col-1]=='*')&&(chess_board[row][col-2]=='*'))
				{chess_board[row][col]='o';return 9;}
				if((chess_board[row+1][col]=='*')&&(chess_board[row+2][col]=='*')&&(chess_board[row-1][col]=='*')&&(chess_board[row-2][col]=='*'))
				{chess_board[row][col]='o';return 10;}
				if((chess_board[row+1][col+1]=='*')&&(chess_board[row+2][col+2]=='*')&&(chess_board[row-1][col-1]=='*')&&(chess_board[row-2][col-2]=='*'))
				{chess_board[row][col]='o';return 11;}
				if((chess_board[row-1][col+1]=='*')&&(chess_board[row-2][col+2]=='*')&&(chess_board[row+1][col-1]=='*')&&(chess_board[row+2][col-2]=='*'))
				{chess_board[row][col]='o';return 12;}
			}
		}
	} 
	//*** *//
    for ( row = 0; row < MAX_ROW; row++)
    {
        for(col=0;col< MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row][col+check]=='*')
                        chess++;
                }
                if ((chess==3)&&(chess_board[row][col+3]==' ')&&(chess_board[row][col+4]=='*'))
                {chess_board[row][col+3]='o';return 13;}
                else if((chess==3)&&(chess_board[row][col-1]==' ')&&(chess_board[row][col-2]=='*'))
                {chess_board[row][col-1]='o';return 14;}
            }
        }
    }
    for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<MAX_ROW;row++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col]=='*')
                        chess++;
                }
                if ( (chess==3)&&(chess_board[row+3][col]==' ')&&(chess_board[row+4][col]=='*'))
                {chess_board[row+3][col]='o';return 15;}
                else if( (chess==3)&&(chess_board[row-1][col]==' ')&&(chess_board[row-2][col]=='*'))
                {chess_board[row-1][col]='o';return 16;}
            }
        }
    }
    for( row=0;row<MAX_ROW;row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col+check]=='*')
                        chess++;
                }
                if ( (chess==3)&&(chess_board[row+3][col+3]==' ')&&(chess_board[row+4][col+4]=='*'))
                {chess_board[row+3][row+3]='o';return 17;}
                else if( (chess==3)&&(chess_board[row-1][col-1]==' ')&&(chess_board[row-2][col-2]=='*'))
                {chess_board[row-1][col-1]='o';return 18;}
            }
        }
    }
    for( row=MAX_ROW-1;row>=0;row--)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row-check][col+check]=='*')
                        chess++;
                }
                if ( (chess==3)&&(chess_board[row-3][col+3]==' ')&&(chess_board[row-4][col+4]=='*'))
                {chess_board[row-3][col+3]='o';return 19;}
                else if( (chess==3)&&(chess_board[row+1][col-1]==' ')&&(chess_board[row+2][col-2]=='*'))
                {chess_board[row+1][col-1]='o';return 20;}
            }
        }
    }
    //*检查行4//
	for (row = 0; row < MAX_ROW; row++)
    {
        for(col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row][col+check]=='*')
                        chess++;
                }
                if (chess==4)
                {
                    if(col+4<=MAX_COL-1)
                    {
                        if((col==0)&&(chess_board[row][col+4]==' '))
                            {chess_board[row][col+4]='o';return 21;}
                        else if((chess_board[row][col+4]==' ')&&(chess_board[row][col-1]=='o'))
                            {chess_board[row][col+4]='o';return 22;}
                        else if((chess_board[row][col-1]==' ')&&(chess_board[row][col+4]=='o'))
                            {chess_board[row][col-1]='o';return 23;}
                        else if((chess_board[row][col-1]==' ')&&(chess_board[row][col+4]==' '))
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row][col-1]='o';return 24;}
                            else
                            {chess_board[row][col+4]='o';return 25;}
                        }
                    }
                    else if(col+4==MAX_COL)
                    {
                        if((col>=1)&&(chess_board[row][col-1]==' '))
                            {chess_board[row][col-1]='o';return 26;}
                    }
                }
            }
        }
    }
	//检*查列4//
	for ( col = 0; col < MAX_COL; col++)
    {
		for(row=0;row<MAX_ROW;row++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row+check][col]=='*')
                        chess++;
                }
                if ( chess==4)
                {
                    if(row+4<=MAX_ROW-1)
                    {
                        if((row==0)&&(chess_board[row+4][col]==' '))
                            {chess_board[row+4][col]='o';return 27;}
                        else if((chess_board[row+4][col]==' ')&&(chess_board[row-1][col]=='o'))
                            {chess_board[row+4][col]='o';return 28;}
                        else if((chess_board[row-1][col]==' ')&&(chess_board[row+4][col]=='o'))
                            {chess_board[row-1][col]='o';return 29;}
                        else if((chess_board[row-1][col]==' ')&&(chess_board[row+4][col]==' '))
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row-1][col]='o';return 30;}
                            else
                            {chess_board[row+4][col]='o';return 31;}
                        }
                    }
                    else if(row+4==MAX_ROW)
                    {
                        if((row>=1)&&(chess_board[row-1][col]==' '))
                            {chess_board[row-1][col]='o';return 32;}
                    }
                }
            }
        }
	}
	//检*查所有对角线  '\' 4 //
	for( row=0;row<MAX_ROW;row++)
    {
        for(col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=3;check++)
                {
                    if(chess_board[row+check][col+check]=='*')
                        chess++;
                }
                if(chess==4)
                {
                    if(((row==0)||(col==0))&&(chess_board[row+4][col+4]==' '))
                    {chess_board[row+4][col+4]='o';return 33;}
                    else if(((row+4==MAX_ROW)||(col+4==MAX_COL))&&(chess_board[row-1][col-1]==' '))
                    {chess_board[row-1][col-1]='o';return 34;}
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+4][col+4]=='o'))
                    {chess_board[row-1][col-1]='o';return 35;}
                    else if((chess_board[row-1][col-1]=='o')&&(chess_board[row+4][col+4]==' '))
                    {chess_board[row+4][col+4]='o';return 36;}
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+4][col+4]==' '))
                    {
                        int i = rand() % 2;
                        if(i==0)
                        {chess_board[row-1][col-1]='o';return 37;}
                        else
                        {chess_board[row+4][col+4]='o';return 38;}
                    }
                }
            }
            
        }
    }
	//检*查所有对角线  '/' 4 //
    for( row=MAX_ROW-1;row>=3;row--)
    {
        for(col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for(check=1;check<=3;check++)
                {
                    if(chess_board[row-check][col+check]=='*')
                        chess++;
                }
                if(chess==4)
                {
                    if(((row==MAX_ROW-1)||(col==0))&&(chess_board[row-4][col+4]==' '))
                    {chess_board[row-4][col+4]='o';return 39;}
                    else if(((row-4==-1)||(col+4==MAX_COL))&&(chess_board[row+1][col-1]==' '))
                    {chess_board[row+1][col-1]='o';return 40;}
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-4][col+4]=='o'))
                    {chess_board[row+1][col-1]='o';return 41;}
                    else if((chess_board[row+1][col-1]=='o')&&(chess_board[row-4][col+4]==' '))
                    {chess_board[row-4][col+4]='o';return 042;}
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-4][col+4]==' '))
                    {
                        int i = rand() % 2;
                        if(i==0)
                        {chess_board[row+1][col-1]='o';return 043;}
                        else
                        {chess_board[row-4][col+4]='o';return 044;}
                    }
                }
            }
        }
    }

    

	// oo o hang//
    for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row][col+check]=='o')
                        chess++;
                }
                if ((chess==2)&&((chess_board[row][col-1]==' ')||(chess_board[row][col+4]==' ')))
                {
                    if((chess_board[row][col+2]==' ')&&(chess_board[row][col+3]=='o'))
                        {chess_board[row][col+2]='o';return 045;}
                    else if((chess_board[row][col-1]==' ')&&(chess_board[row][col-2]=='o'))
                    {chess_board[row][col-1]='o';return 046;}
                }
            }
        }
    }
   //o检查列  oo o //
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<=MAX_ROW-2;row++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row+check][col]=='o')
                        chess++;
                }
                if ((chess==2)&&((chess_board[row-1][col]==' ')||(chess_board[row+4][col]==' ')))
                {
                    if((chess_board[row+2][col]==' ')&&(chess_board[row+3][col]=='o'))
                    {chess_board[row+2][col]='o';return 047;}
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row-2][col]=='o'))
                    {chess_board[row-1][col]='o';return 48;}
                }
            }
        }
    }
                
	//检o查所有对角线  '\' oo o //
	for( row=0;row<=(MAX_ROW-2);row++)
    {
        for( col=0;col<=(MAX_COL-2);col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row+check][col+check]=='o')
                        chess++;
                }
                if ((chess==2)&&((chess_board[row-1][col-1]==' ')||(chess_board[row+4][col+4]==' ')))
                {
                    if((chess_board[row+2][col+2]==' ')&&(chess_board[row+3][col+3]=='o'))
                    {chess_board[row+2][col+2]='o';return  49;}
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row-2][col-2]=='o'))
                    {chess_board[row-1][col-1]='o';return 50;}
                }
            }
        }
    }
                
	//o检查所有对角线  '/' oo o //
    for( row=MAX_ROW-1;row>=1;row--)
    {
        for( col=0;col<=MAX_COL-2;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row-check][col+check]=='o')
                        chess++;
                }
                if ((chess==2)&&((chess_board[row+1][col-1]==' ')||(chess_board[row-4][col+4]==' ')))
                {
                    if((chess_board[row-2][col+2]==' ')&&(chess_board[row-3][col+3]=='o'))
                    {chess_board[row-2][col+2]='o';return 051;}
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row+2][col-2]=='o'))
                    {chess_board[row+1][col-1]='o';return 052;}
                }
            }
        }
    }


	//o检查行3 ooo // 
	for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<=MAX_COL-4;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row][col+check]=='o')
                        chess++;
                }
                if(chess==3)
				{
					if (((chess_board[row][col-1]==' ')&&(chess_board[row][col+3]==' '))||
					((chess_board[row][col-1]==' ')&&(chess_board[row][col-2]==' '))||
					((chess_board[row][col+3]==' ')&&(chess_board[row][col+4]==' ')))
	                {
	                	if(chess_board[row][col+4]==' ')
	                    {chess_board[row][col+3]='o';return 053;}
	                    else if(chess_board[row][col-2]==' ')
	                    {chess_board[row][col-1]='o';return 054;}
	                }
				}
	                
            }
        }
    }
	//o检查列3//
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<=MAX_ROW-4;row++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col]=='o')
                        chess++;
                }
	            if(chess==3)
	            {
	            	if (((chess_board[row-1][col]==' ')&&(chess_board[row+3][col]==' '))||
					((chess_board[row-1][col]==' ')&&(chess_board[row-2][col]==' '))||
					((chess_board[row+3][col]==' ')&&(chess_board[row+4][col]==' ')))
	                {
	                    if(chess_board[row-2][col]==' ')
	                    {chess_board[row-1][col]='o';return 055;}
	                    else if(chess_board[row+4][col]==' ')
	                    {chess_board[row+3][col]='o';return 056;}
	                }
				}
            }
        }
	}
	//o检查所有对角线  '\' 3 //
	for( row=0;row<=(MAX_ROW-4);row++)
    {
        for( col=0;col<=(MAX_COL-4);col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col+check]=='o')
                        chess++;
                }
                if(chess==3)
                {
                	if (((chess_board[row-1][col-1]==' ')&&(chess_board[row+3][col+3]==' '))||
					((chess_board[row-1][col-1]==' ')&&(chess_board[row-2][col-2]==' '))||
					((chess_board[row+3][col+3]==' ')&&(chess_board[row+4][col+4]==' ')))
	                {
	                   if(chess_board[row-2][col-2]==' ')
	                    {chess_board[row-1][col-1]='o';return 057;}
	                    else if(chess_board[row+4][col+4]==' ')
	                    {chess_board[row+3][col+3]='o';return 58;}
	                }
				}
            }
            
        }
    }
	//o检查所有对角线  '/' 3 //
    for( row=MAX_ROW-1;row>=0;row--)
    {
        for( col=0;col<MAX_COL;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row-check][col+check]=='o')
                        chess++;
                }
                if(chess==3)
                {
                	if (((chess_board[row+1][col-1]==' ')&&(chess_board[row-3][col+3]==' '))||
					((chess_board[row+1][col-1]==' ')&&(chess_board[row+2][col-2]==' '))||
					((chess_board[row-3][col+3]==' ')&&(chess_board[row-4][col+4]==' ')))
	                {
	                    if(chess_board[row+2][col-2]==' ')
	                    {chess_board[row+1][col-1]='o'; return 59;}
	                    else if(chess_board[row-4][col+4]==' ')
	                    {chess_board[row-3][col+3]='o';return 60;}
	                }
				}
            }
        }
    }

	for( row=0;row<MAX_ROW;row++)
    {
        count=0;dangerous=0; 
        for( col=0;col<MAX_COL;col++)
        {
            if((chess_board[row+1][col]=='*')&&(chess_board[row+2][col]=='*'))  count++;
            if((chess_board[row+1][col+1]=='*')&&(chess_board[row+2][col+2]=='*'))  count++;
            if((chess_board[row][col+1]=='*')&&(chess_board[row][col+2]=='*'))  count++;
            if((chess_board[row-1][col+1]=='*')&&(chess_board[row-2][col+2]=='*'))  count++;
            if((chess_board[row-1][col]=='*')&&(chess_board[row-2][col]=='*'))  count++;
            if((chess_board[row-1][col-1]=='*')&&(chess_board[row-2][col-2]=='*'))  count++;
            if((chess_board[row][col-1]=='*')&&(chess_board[row][col-2]=='*'))  count++;
            if((chess_board[row+1][col-1]=='*')&&(chess_board[row+2][col-2]=='*'))  count++;

            if((chess_board[row+1][col]=='*')&&(chess_board[row+2][col]=='*')&&(chess_board[row+3][col]=='*'))  dangerous++;
            if((chess_board[row+1][col+1]=='*')&&(chess_board[row+2][col+2]=='*')&&(chess_board[row+3][col+3]=='*'))  dangerous++;
            if((chess_board[row][col+1]=='*')&&(chess_board[row][col+2]=='*')&&(chess_board[row][col+3]=='*'))  dangerous++;
            if((chess_board[row-1][col+1]=='*')&&(chess_board[row-2][col+2]=='*')&&(chess_board[row-3][col+3]=='*'))  dangerous++;
            if((chess_board[row-1][col]=='*')&&(chess_board[row-2][col]=='*')&&(chess_board[row-3][col]=='*'))  dangerous++;
            if((chess_board[row-1][col-1]=='*')&&(chess_board[row-2][col-2]=='*')&&(chess_board[row-3][col-3]=='*'))  dangerous++;
            if((chess_board[row][col-1]=='*')&&(chess_board[row][col-2]=='*')&&(chess_board[row][col-3]=='*'))  dangerous++;
            if((chess_board[row+1][col-1]=='*')&&(chess_board[row+2][col-2]=='*')&&(chess_board[row+3][col-3]=='*'))  dangerous++;
            
            if((count>=2)&&(chess_board[row][col]==' ')&&(dangerous>=1))
            {chess_board[row][col]='o';return 061;}
        }
    }

    //检查行3//
	for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<=MAX_COL-4;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row][col+check]=='*')
                        chess++;
                }
                if ((chess==3)&&(col!=0))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+3]==' '))
                    {
                        if((chess_board[row][col-2]=='*')&&(col-2>=0))
                        {chess_board[row][col-1]='o';return 062;}
                        else if((chess_board[row][col+4]=='*')&&(col+4<MAX_COL))
                        {chess_board[row][col+3]='o';return 063;}
                        else
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row][col-1]='o';return 064;}
                            else
                            {chess_board[row][col+3]='o';return 065;}
                        }
                        
                    }
                    else if((chess_board[row][col-1]==' ')&&((chess_board[row][col+3]=='o')||(col+3==MAX_COL)))
                    {
                        if((chess_board[row][col-2]=='*')&&(col-2>=0))
                        {chess_board[row][col-1]='o';return 066;}
                    }
                    else if(((chess_board[row][col-1]=='o')||(col==0))&&(chess_board[row][col+3]==' '))
                    {
                        if((col+4<MAX_COL)&&(chess_board[row][col+4]=='*'))
                        {chess_board[row][col+3]='o';return 067;}
                    }
                }
            }
        }
    }
	//检查列3//
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<MAX_ROW;row++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col]=='*')
                        chess++;
                }
                if ( (chess==3)&&(row!=0))
                {
                    if((chess_board[row-1][col]==' ')&&(chess_board[row+3][col]==' '))
                    {
                        if((chess_board[row-2][col]=='*')&&(row-2>=0))
                        {chess_board[row-1][col]='o';return 68;}
                        else if((chess_board[row+4][col]=='*')&&(row+4<MAX_ROW))
                        {chess_board[row+3][col]='o';return 69;}
                        else
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row-1][col]='o';return 70;}
                            else
                            {chess_board[row+3][col]='o';return 071;}
                        }
                    }
                    else if(((chess_board[row-1][col]=='o')||(row==0))&&(chess_board[row+3][col]==' '))
                    {
                        if((chess_board[row+4][col]=='*')&&(row+4<=MAX_ROW))
                        {chess_board[row+3][col]='o';return 072;}
                    }   
                    else if((chess_board[row-1][col]==' ')&&((chess_board[row+3][col]=='o')||(row+3==MAX_ROW)))
                    {
                        if((chess_board[row-2][col]=='*')&&(row-2>=0))
                        {chess_board[row-1][col]='o';return 073;}
                    } 
                    
                }
            }
        }
	}
	//检查所有对角线  '\' 3 //
	for( row=0;row<=(MAX_ROW-4);row++)
    {
        for( col=0;col<=(MAX_COL-4);col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col+check]=='*')
                        chess++;
                }
                if((chess==3)&&(row!=0)&&(col!=0))
                {
                    if((chess_board[row-1][col-1]==' ')&&(chess_board[row+3][col+3]==' '))
                    {
                        if((chess_board[row-2][col-2]=='*')&&(row-2>=0)&&(col-2>=0))
                        {chess_board[row-1][col-1]='o';return 074;}
                        else if((chess_board[row+4][col+4]=='*')&&(row+4<MAX_ROW)&&(col+4<MAX_COL))
                        {chess_board[row+3][col+3]='o';return 075;}
                        else
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row-1][col-1]='o';return 076;}
                            else
                            {chess_board[row+3][col+3]='o';return 077;}
                        }
                    }
                    else if (((chess_board[row-1][col-1]=='o')||(row==0)||(col==0))&&(chess_board[row+3][col+3]==' '))
                    {
                        if((col+4<MAX_COL)&&(row+4<MAX_ROW)&&(chess_board[row+4][col+4]=='*'))
                        {chess_board[row+3][col+3]='o';return 78;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&( (chess_board[row+3][col+3]=='o') || (row+3==MAX_ROW) || (col+3==MAX_COL) ))
                    {
                        if((row-2>=0)&&(col-2>=0)&&(chess_board[row-2][col-2]=='*'))
                        {chess_board[row-1][col-1]='o';return 79;}
                    }
                }
            }
            
        }
    }
	//检查所有对角线  '/' 3 //
    for( row=MAX_ROW-1;row>=3;row--)
    {
        for( col=0;col<=MAX_COL-4;col++)
        {
            if(chess_board[row][col]=='*')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row-check][col+check]=='*')
                        chess++;
                }
                if((chess==3)&&(row!=MAX_ROW-1)&&(col!=0))
                {
                    if((chess_board[row+1][col-1]==' ')&&(chess_board[row-3][col+3]==' '))
                    {
                        if((chess_board[row+2][col-2]=='*')&&(row+2<MAX_ROW)&&(col-2>=0))
                        {chess_board[row+1][col-1]='o';return 80;}
                        else if((chess_board[row-4][col+4]=='*')&&(row-4>=0)&&(col+4<MAX_COL))
                        {chess_board[row-3][col+3]='o';return 81;}
                        else
                        {
                            int i = rand() % 2;
                            if(i==0)
                            {chess_board[row+1][col-1]='o';return 82;}
                            else
                            {chess_board[row-3][col+3]='o';return 83;}
                        }
                    }
                    else if(((chess_board[row+1][col-1]=='o')||(row+1==MAX_ROW)||(col==0))&&(chess_board[row-3][col+3]==' '))
                    {
                        if((row-4>=0)&&(col+4<MAX_COL)&&(chess_board[row-4][col+4]=='*'))
                        {chess_board[row-3][col+3]=='o';return 84;}
                    }
                    else if(((chess_board[row-3][col+3]=='o')||(row-3==-1)||(col+3==MAX_COL))&&(chess_board[row+1][col-1]==' '))
                    {
                        if((row+2<MAX_ROW)&&(col-2>=0)&&(chess_board[row+2][col-2]=='*'))
                        {chess_board[row+1][col-1]='o';return 85;}
                    }
                }
            }
        }
    }
   
	//***//
    //* *//
    //***//
    for( row=0;row<MAX_ROW;row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
        	count=0;
        	if(chess_board[row][col]==' ')
        	{
        		if((chess_board[row+1][col]=='*')&&(chess_board[row+2][col]=='*'))  count++;
	            if((chess_board[row+1][col+1]=='*')&&(chess_board[row+2][col+2]=='*'))  count++;
	            if((chess_board[row][col+1]=='*')&&(chess_board[row][col+2]=='*'))  count++;
	            if((chess_board[row-1][col+1]=='*')&&(chess_board[row-2][col+2]=='*'))  count++;
	            if((chess_board[row-1][col]=='*')&&(chess_board[row-2][col]=='*'))  count++;
	            if((chess_board[row-1][col-1]=='*')&&(chess_board[row-2][col-2]=='*'))  count++;
	            if((chess_board[row][col-1]=='*')&&(chess_board[row][col-2]=='*'))  count++;
	            if((chess_board[row+1][col-1]=='*')&&(chess_board[row+2][col-2]=='*'))  count++;
	
	            if((chess_board[row][col-1]=='*')&&(chess_board[row][col+1]=='*'))  count++;
	            if((chess_board[row+1][col]=='*')&&(chess_board[row-1][col]=='*'))  count++;
	            if((chess_board[row+1][col-1]=='*')&&(chess_board[row-1][col+1]=='*'))  count++;
	            if((chess_board[row-1][col-1]=='*')&&(chess_board[row+1][col+1]=='*'))  count++;
	            
	            if(count>=2)
	            {chess_board[row][col]='o';return 86;}	
			}
        }
    }

	

    //3o//
    for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<=MAX_COL-3;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row][col+check]=='o')
                        chess++;
                }
                if (chess==3)
                {
                    if(chess_board[row][col+3]==' ')
                        {chess_board[row][col+3]='o';return 87;}
                    else if(chess_board[row][col-1]==' ')
                    {chess_board[row][col-1]='o';return 88;}
                }
            }
        }
    }
   //o检查列3//
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<=MAX_ROW-3;row++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col]=='o')
                        chess++;
                }
                if ( chess==3)
                {
                    if(chess_board[row+3][col]==' ')
                    {chess_board[row+3][col]='o';return 89;}
                    else if(chess_board[row-1][col]==' ')
                    {chess_board[row-1][col]='o';return 90;}
                }
            }
        }
    }
                
	//检o查所有对角线  '\' 3 //
	for( row=0;row<=(MAX_ROW-3);row++)
    {
        for( col=0;col<=(MAX_COL-3);col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row+check][col+check]=='o')
                        chess++;
                }
                if(chess==3)
                {
                    if(chess_board[row+3][col+3]==' ')
                    {chess_board[row+3][col+3]='o';return 91;}
                    else if(chess_board[row-1][col-1]==' ')
                    {chess_board[row-1][col-1]='o';return 92;}
                }
            }
        }
    }
                
	//o检查所有对角线  '/' 3//
    for( row=MAX_ROW-1;row>=2;row--)
    {
        for( col=0;col<=MAX_COL-3;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=2;check++)
                {
                    if(chess_board[row-check][col+check]=='o')
                        chess++;
                }
                if(chess==3)
                {
                    if(chess_board[row-3][col+3]==' ')
                    {chess_board[row-3][col+3]='o';return 93;}
                    else if(chess_board[row+1][col-1]==' ')
                    {chess_board[row+1][col-1]='o';return 94;}
                }
            }
        }
    }

    //  oo  //
    for( row=0;row<MAX_ROW;row++)
    {
        for( col=0;col<MAX_COL;col++)
        {
            count=0;
            if(chess_board[row][col]==' ')
            {
                if((chess_board[row][col-1]=='o')&&(chess_board[row][col+1]=='o')&&(chess_board[row][col-2]==' ')&&(chess_board[row][col+2]==' ')) count++;
                if((chess_board[row-1][col]=='o')&&(chess_board[row+1][col]=='o')&&(chess_board[row+2][col]==' ')&&(chess_board[row-2][col]==' ')) count++;
                if((chess_board[row-1][col-1]=='o')&&(chess_board[row+1][col+1]=='o')&&(chess_board[row-2][col-2]==' ')&&(chess_board[row+2][col+2]==' ')) count++;
                if((chess_board[row-1][col+1]=='o')&&(chess_board[row+1][col-1]=='o')&&(chess_board[row-2][col+2]==' ')&&(chess_board[row+2][col-2]==' ')) count++;
                if((chess_board[row][col-1]=='o')&&(chess_board[row][col+1]=='o')&&(chess_board[row][col-2]==' ')&&(chess_board[row][col+2]==' ')) count++;

                if(count!=0)
                {chess_board[row][col]='o';return 95;}
            }
        }
    }
    
    
	//o o//
	for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<=MAX_COL-2;col++)
        {
        	if(chess_board[row][col]==' ')
        	{
        		if((chess_board[row][col-1]=='o')&&(chess_board[row][col+1]=='o')&&((chess_board[row][col-2]==' ')||(chess_board[row][col+2]==' ')))
				{chess_board[row][col]='o';return 96;}
				if((chess_board[row+1][col]=='o')&&(chess_board[row-1][col]=='o')&&((chess_board[row+2][col]==' ')||(chess_board[row-2][col]==' ')))
				{chess_board[row][col]='o';return 97;}
				if((chess_board[row-1][col-1]=='o')&&(chess_board[row+1][col+1]=='o')&&((chess_board[row-2][col-2]==' ')||(chess_board[row+2][col+2]==' ')))
				{chess_board[row][col]='o';return 98;}
				if((chess_board[row+1][col-1]=='o')&&(chess_board[row-1][col+1]=='o')&&((chess_board[row+2][col-2]==' ')||(chess_board[row-2][col+2]==' ')))
				{chess_board[row][col]='o';return 99;}
			}
	    }
	} 
    // oo //
    for ( row = 0; row < MAX_ROW; row++)
    {
        for( col=0;col<=MAX_COL-2;col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row][col+check]=='o')
                        chess++;
                }
                if ((chess==2)&&(chess_board[row][col+2]==' ')&&(chess_board[row][col-1]==' '))
                {
                    if(chess_board[row][col+3]==' ')
                        {chess_board[row][col+2]='o';return 100;}
                    else if(chess_board[row][col-2]==' ')
                    {chess_board[row][col-1]='o';return 101;}
                }
            }
        }
    }
   //o检查列  oo //
	for ( col = 0; col < MAX_COL; col++)
    {
		for( row=0;row<=MAX_ROW-2;row++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row+check][col]=='o')
                        chess++;
                }
                if ( (chess==2)&&(chess_board[row+2][col]==' ')&&(chess_board[row-1][col]==' '))
                {
                    if(chess_board[row+3][col]==' ')
                    {chess_board[row+2][col]='o';return 0102;}
                    else if(chess_board[row-2][col]==' ')
                    {chess_board[row-1][col]='o';return 103;}
                }
            }
        }
    }
                
	//检o查所有对角线  '\' oo //
	for( row=0;row<=(MAX_ROW-2);row++)
    {
        for( col=0;col<=(MAX_COL-2);col++)
        {
            if(chess_board[row][col]=='o')
            {
                chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row+check][col+check]=='o')
                        chess++;
                }
                if((chess==2)&&(chess_board[row+2][col+2]==' ')&&(chess_board[row-1][col-1]==' '))
                {
                    if(chess_board[row+3][col+3]==' ')
                    {chess_board[row+2][col+2]='o';return 104;}
                    else if(chess_board[row-2][col-2]==' ')
                    {chess_board[row-1][col-1]='o';return 105;}
                }
            }
        }
    }
                
	//o检查所有对角线  '/' oo //
    for( row=MAX_ROW-1;row>=1;row--)
    {
        for( col=0;col<=MAX_COL-2;col++)
        {
            if(chess_board[row][col]=='o')
            {
                 chess=1;
                for( check=1;check<=1;check++)
                {
                    if(chess_board[row-check][col+check]=='o')
                        chess++;
                }
                if((chess==2)&&(chess_board[row-2][col+2]==' ')&&(chess_board[row+1][col-1]==' '))
                {
                    if(chess_board[row-3][col+3]==' ')
                    {chess_board[row-2][col+2]='o';return 106;}
                    else if(chess_board[row+2][col-2]==' ')
                    {chess_board[row+1][col-1]='o';return 0107;}
                }
            }
        }
    }

    int r=a-1,c=b-1,suiji;
    suiji=rand()%4;
    switch (suiji)
    {
    case 0:
        for( row=r;row>=0;row--)//1
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 108;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 109;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 110;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 111;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 112;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 113;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 114;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 115;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//2
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 116;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 117;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 118;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 119;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 120;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 121;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 122;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 123;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//3
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 124;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 125;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 126;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 127;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 128;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 129;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 130;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 131;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//4
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 132;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 133;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 134;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 135;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 136;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 137;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 138;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 139;}
                    }
                }
            }
        }
        break;
       
    case 1:
        for( row=r;row>=0;row--)//2
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 140;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 141;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 142;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 143;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 144;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 145;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 146;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 147;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//1
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 148;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 149;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 150;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 151;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 152;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 153;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 154;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 155;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//3
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 156;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 157;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 158;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 159;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 160;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 161;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 162;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 163;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//4
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 164;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 165;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 166;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 167;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 168;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 169;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 170;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 171;}
                    }
                }
            }
        }
        break;
    case 2:
        for( row=r;row<MAX_ROW;row++)//3
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 172;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 173;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 174;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 175;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 176;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 177;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 178;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 179;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//4
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 180;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 181;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 182;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 183;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 184;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 185;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 186;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 187;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//1
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 188;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 189;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 190;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 191;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 192;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 193;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 194;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 195;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//2
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 196;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 197;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 198;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 199;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 200;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 201;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 202;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 203;}
                    }
                }
            }
        }
        break;
    case 3:
        for( row=r;row<MAX_ROW;row++)//4
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 204;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 205;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 206;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 207;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 208;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 209;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 210;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 211;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//1
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 212;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 213;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 214;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 215;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 216;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 217;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 218;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 219;}
                    }
                }
            }
        }
        for( row=r;row>=0;row--)//2
        {
            for( col=c;col<MAX_COL;col++)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 220;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 221;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 222;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 223;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 224;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 225;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 226;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 227;}
                    }
                }
            }
        }
        for( row=r;row<MAX_ROW;row++)//3
        {
            for( col=c;col>=0;col--)
            {
                if((chess_board[row][col]=='o')&&( 
                    ((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))||
                ((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))||
                ((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))||
                ((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))))
                {
                    if((chess_board[row][col-1]==' ')&&(chess_board[row][col+1]==' '))
                    {
                        if(chess_board[row][col-2]==' ')
                        {chess_board[row][col-1]='o';return 228;}
                        else if(chess_board[row][col+2]==' ')
                        {chess_board[row][col+1]='o';return 229;}
                    }
                    else if((chess_board[row-1][col]==' ')&&(chess_board[row+1][col]==' '))
                    {
                        if(chess_board[row-2][col]==' ')
                        {chess_board[row-1][col]='o';return 230;}
                        else if(chess_board[row+2][col]==' ')
                        {chess_board[row+1][col]='o';return 231;}
                    }
                    else if((chess_board[row+1][col-1]==' ')&&(chess_board[row-1][col+1]==' '))
                    {
                        if(chess_board[row+2][col-2]==' ')
                        {chess_board[row+1][col+1]='o';return 232;}
                        else if(chess_board[row-2][col+2]==' ')
                        {chess_board[row-1][col+1]='o';return 233;}
                    }
                    else if((chess_board[row-1][col-1]==' ')&&(chess_board[row+1][col+1]==' '))
                    {
                        if(chess_board[row-2][col-2]==' ')
                        {chess_board[row-1][col-1]='o';return 234;}
                        else if(chess_board[row+2][col+2]==' ')
                        {chess_board[row+1][col+1]='o';return 235;}
                    }
                }
            }
        }
        break;
    }

    
    {//follow tightly//
    int empty=0,i=0;
    int situation[8][2];
    if(chess_board[r+1][c-1]==' ')  {empty++;situation[i][0]=r+1;situation[i++][1]=c-1;}
    if(chess_board[r+1][c]==' ')    {empty++;situation[i][0]=r+1;situation[i++][1]=c;}
    if(chess_board[r+1][c+1]==' ')  {empty++;situation[i][0]=r+1;situation[i++][1]=c+1;}
    if(chess_board[r][c-1]==' ')    {empty++;situation[i][0]=r;situation[i++][1]=c-1;}
    if(chess_board[r][c+1]==' ')    {empty++;situation[i][0]=r;situation[i++][1]=c+1;}
    if(chess_board[r-1][c-1]==' ')  {empty++;situation[i][0]=r-1;situation[i++][1]=c-1;}
    if(chess_board[r-1][c]==' ')    {empty++;situation[i][0]=r-1;situation[i++][1]=c;}
    if(chess_board[r-1][c+1]==' ')  {empty++;situation[i][0]=r-1;situation[i++][1]=c+1;}
    srand((unsigned int)time(0));
    i= rand()%empty;
    r=situation[i][0];c=situation[i][1];
    chess_board[r][c]='o';return 236;
    }

while (1)
    {
		row = rand() % MAX_ROW;
		col = rand() % MAX_COL;
		if (chess_board[row][col] != ' ')
        {
			continue;
		}
		chess_board[row][col] = 'o';
		break;
	}

return 237;	
}
  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
这个C++管理系统基本涵盖了“学生成绩管理系统”的所有功能,你可以从中借鉴到C++链表、类、封装、继承、文件操作、排序等等很多知识,极具借鉴意义,以下为本项目的功能介绍: 1. 建立文件 (1)可以使用默认文件名或指定文件名将记录存储到 (2)设置适当的标志位,作为对记录进操作的 (3)写同名文件将覆盖原来文件的 2.增加学生记录 (1) 可在已有记录后面追加新的记录 (2) 可以随时增加新的记录,它们仅保存在向量数组中 (3) 可以将一个文件读入,追加在已有记录之后 (4) 采取文件追加方式时,在没有保存到文件之前,将继续保持文件追加状态,以便实现连续追加操作方式 3. 新建学生信息文件 (1) 用来新建学生信息记录 (2) 如果已经有记录存在,可以覆盖原记录或者在原记录后面追加,也可以将原有记录信息保存 到一个指定文件,然后重新建立记录 (3) 给出相应的提示信息 4. 显示记录 (1) 如果没有记录可供显示,给出提示信息 (2) 可以随时显示内存中的记录 (3) 显示表头 5. 文件存储 (1) 可以按默认名字或指定名字存储记录文件 6. 读取文件 (1) 可以按默认名字或指定名字将记录文件读入内存 (2) 可以将指定或默认文件追加到现有记录的尾部 (3) 可以将文件连续追加到现有记录并更新记录中的“名次” 7. 删除记录 (1) 可以按“学号”、“姓名”或“名次”方式删除记录 (2) 标志将被删除的记录, 可以再次取消标志, 经确认后删除已经标志的记录(3) 如果记录是空表, 删除时应给出提示信息并返回主菜单 (4) 如果没有要删除的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 删除操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 8. 修改记录 (1) 可以按“学号”、“姓名”或“名次”方式查找要修改的记录内容 (2) 给出将被修改记录的信息, 经确认后进修改 (3) 如果记录已经是空表,应给出提示信息并返回主菜单 (4) 如果没有找到需要修改的信息, 输出“没有找到”的信息 (5) 更新其他记录的名次 (6) 修改操作仅限于内存, 只有执存储操作时, 才能覆盖原记录 9. 查询记录 (1) 可以按“学号”、“姓名”或“名次”方式查询记录 (2) 能给出查询记录的信息 (3) 如果查询的信息不存在, 输出提示信息 10. 对记录进排序 (1) 可以按”学号”进升序和降序排列 (2) 可以按”姓名”进升序和降序排列 (3) 可以按”名次”进升序和降序排列 (4) 如果属于选择错误, 可以立即退出程序

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值