//存放下棋数据char board[ROW][COL]={0};//初始化棋盘为全空格InitBoard(board, ROW, COL);//初始化棋盘为空格voidInitBoard(char board[ROW][COL],int row,int col){int i =0;for(i =0; i < row; i++){int j =0;for(j =0; j < col; j++){
board[i][j]=' ';}}}//打印棋盘voidDisplayBoard(char board[ROW][COL],int row,int col)//打印棋盘{//打印数据int i =0;for(i =0; i < row; i++){int j =0;for(j =0; j < col; j++){printf(" %c ",board[i][j]);//别忘记board[i][j]if(j < col -1){printf("|");}}printf("\n");//打印分割行if(i < row-1)//记住 row-1{for(j =0; j < col; j++){printf("---");if(j < col -1){printf("|");}}printf("\n");}}}
玩家下棋
//玩家下棋voidplayer_move(char board[ROW][COL],int row,int col){int x =0;int y =0;printf("玩家下棋\n");while(1){printf("请输入坐标:");scanf("%d %d",&x,&y);if(x >=1&& x <= row && y >=1&& y <= col){if(board[x -1][y -1]==' '){
board[x -1][y -1]='*';break;}else{printf("该坐标被占用,请重新输入\n");}}else{printf("非法坐标,请重新输入\n");}}
电脑下棋
voidcomputer_move(char board[ROW][COL],int row,int col){int x =0;int y =0;printf("电脑下棋:>\n");while(1){
x =rand()%3;//范围(a,b)用rand表示就是rand()%(b-a+1)
y =rand()%3;if(board[x][y]==' ')//判断是否为空格,因为只有这一个条件,所以满足这个条件就可以下{
board[x][y]='#';break;}}}