| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
 本帖最后由 cookies945 于 2019-1-28 14:46 编辑  
- #include <stdio.h>
 
 - #define MAX 13
 
 - #define MIN 1
 
  
- int addBlack(int row_in_fun,int col_in_fun,int count);
 
 - int addWhite(int row_in_fun,int col_in_fun,int count);
 
 - void cleanChessBoard(char* CB,int n);
 
 - int judge(int row_in_fun,int col_in_fun,int trun);
 
 - void printChessBoard(void);
 
 - void choose(void);
 
 - int judge_N(int row,int col,int turn);
 
 - int judge_S(int row,int col,int turn);
 
 - int judge_E(int row,int col,int turn);
 
 - int judge_W(int row,int col,int turn);
 
 - int judge_NW(int row,int col,int turn);
 
 - int judge_NE(int row,int col,int turn);
 
 - int judge_SE(int row,int col,int turn);
 
 - int judge_SW(int row,int col,int turn);
 
  
- char chessBoard[14][14];
 
 - char chess[2] = {'0','@'};
 
 - int main(){        
 
 -         char *CB;
 
 -         CB = &chessBoard[0][0];
 
 -         cleanChessBoard(CB,14);
 
 -         choose();
 
 -         return 0;
 
 - }
 
 - void cleanChessBoard(char* CB,int n){
 
 -         int i,j; 
 
 -         for(i = 0;i < n;i++){  // n 为行 
 
 -                 for(j = 0;j < n;j++){ // j 为列 
 
 -         
 
 -                         if(i == 0){
 
 -                                 printf("%2d",j); // 第一行打印棋盘上面的数字坐标 
 
 -                                 
 
 -                         }
 
 -                         else if(j == 0 && i != 0){ //每一行的开头打印列标 
 
 -                                 printf("%2d",i);
 
 -                         }
 
 -                         else{
 
 -                                 printf(" ");
 
 -                                 *(CB + i*n + j) = '*';       //未落子的区域打印 * 表明未落子;
 
 -                                 printf("%c",chessBoard[i][j]);   
 
 -                         } // 打印棋盘 
 
 -                         printf("  ");
 
 -                 }
 
 -                 printf("\n");
 
 -         }
 
 - }
 
 - int addBlack(int row_in_fun,int col_in_fun,int count){
 
 -         int flag;//接收judge的返回值,判断是否结束比赛 
 
 -         if(chessBoard[row_in_fun][col_in_fun] == '*'){   //判断该区域是否已经落了子 
 
 -                 chessBoard[row_in_fun][col_in_fun] = '@'; 
 
 -                 flag = judge(row_in_fun,col_in_fun,count);
 
 -                 if(flag){
 
 -                         printf("黑棋获胜!\n");
 
 -                         return 1;
 
 -                 }
 
 -         }
 
 -         else{
 
 -                 printf("这里有棋子了!"); 
 
 -                 printf("重新输入坐标:");
 
 -                 int row,col;
 
 -                 scanf("%d %d",&row,&col);
 
 -                 addBlack(row,col,count);
 
 -         }
 
 -         return 0;
 
 - }
 
 - int addWhite(int row_in_fun,int col_in_fun,int count){
 
 -         int flag;//接收judge的返回值,判断是否结束比赛 
 
 -         if(chessBoard[row_in_fun][col_in_fun] == '*'){
 
 -                 chessBoard[row_in_fun][col_in_fun] = '0';
 
 -                 flag = judge(row_in_fun,col_in_fun,count);
 
 -                 if(flag){
 
 -                         printf("白棋获胜!\n");
 
 -                         return 1;
 
 -                 }
 
 -         }
 
 -         else{
 
 -                 printf("这里有棋子了!"); 
 
 -                 printf("重新输入坐标:");
 
 -                 int row,col;
 
 -                 scanf("%d %d",&row,&col);
 
 -                 addWhite(row,col,count);
 
 -         }
 
 -         return 0;
 
 - }
 
 - void printChessBoard(void){
 
 -         int i,j;
 
 -         for(i = 0;i < 14;i++){  // n 为行 
 
 -                 for(j = 0;j < 14;j++){ // j 为列 
 
 -         
 
 -                         if(i == 0){
 
 -                                 printf("%2d",j); // 第一行打印棋盘上面的数字坐标 
 
 -                                 
 
 -                         }
 
 -                         else if(j == 0 && i != 0){ //每一行的开头打印列标 
 
 -                                 printf("%2d",i);
 
 -                         }
 
 -                         else{
 
 -                                 printf(" ");              
 
 -                                 printf("%c",chessBoard[i][j]);   
 
 -                         } // 打印棋盘 
 
 -                         printf("  ");
 
 -                 }
 
 -                 printf("\n");
 
 -         }
 
 - }
 
 - void choose(void){
 
 -         int count = 0;//判断是谁下棋 
 
 -         int row,col;
 
 -         int end;//结束判断 
 
 -         do{
 
 -                 if(count % 2 == 0){
 
 -                         printf("请白棋落子!"); 
 
 -                 }
 
 -                 else{
 
 -                         printf("请黑棋落子!"); 
 
 -                 }
 
 -                 printf("请输入要落子的坐标(行 列):");
 
 -                 scanf("%d %d",&row,&col);
 
 -                 if(count % 2 == 0){
 
 -                         end = addWhite(row,col,count);
 
 -                         count++;
 
 -                 }
 
 -                 else{
 
 -                         end = addBlack(row,col,count);
 
 -                         count++;
 
 -                 }
 
 -                 printChessBoard();
 
 -                 if(end){
 
 -                         break;
 
 -                 }
 
 -         }while(1);
 
 - }
 
 - int judge(int row,int col,int turn){
 
 -         int N = 0,S = 0,E = 0,W = 0,NW = 0,NE = 0,SW = 0,SE = 0;
 
 -         turn = turn % 2;
 
 -         N = judge_N(row,col,turn);
 
 -         S = judge_S(row,col,turn);
 
 -         W = judge_W(row,col,turn);
 
 -         E = judge_E(row,col,turn);
 
 -         SW = judge_SW(row,col,turn);
 
 -         SE = judge_SE(row,col,turn);
 
 -         NW = judge_NW(row,col,turn);
 
 -         NE = judge_NE(row,col,turn);
 
 -         if(N + S >= 5 || W + E >= 5 || SW + NW >= 5 || NE + SE >=5){
 
 -                 return 1;
 
 -         }
 
 -         return 0;
 
 - }
 
 - int judge_N(int row,int col,int turn){
 
 -         int count_N = 0;
 
 -         while(chessBoard[row--][col] == chess[turn] && row >= MIN){
 
 -                 count_N++;
 
 -         }
 
 -         return count_N;
 
 - }
 
 - int judge_S(int row,int col,int turn){
 
 -         int count_S = 0;
 
 -         while(chessBoard[row++][col] == chess[turn] && row <= MAX){
 
 -                 count_S++;
 
 -         }
 
 -         return count_S;
 
 - }
 
 - int judge_E(int row,int col,int turn){
 
 -         int count_E = 0;
 
 -         while(chessBoard[row][col++] == chess[turn] && col <= MAX){
 
 -                 count_E++;
 
 -         }
 
 -         return count_E;
 
 - }
 
 - int judge_W(int row,int col,int turn){
 
 -         int count_W = 0;
 
 -         while(chessBoard[row][col--] == chess[turn] && col >= MIN){
 
 -                 count_W++;
 
 -         }
 
 -         return count_W;
 
 - }
 
 - int judge_NW(int row,int col,int turn){
 
 -         int count_NW = 0;
 
 -         while(chessBoard[row++][col--] == chess[turn] && (row <= MAX && col >= MIN)){
 
 -                 count_NW++;
 
 -         }
 
 -         return count_NW;
 
 - }
 
 - int judge_NE(int row,int col,int turn){
 
 -         int count_NE = 0;
 
 -         while(chessBoard[row++][col++] == chess[turn] && (row <= MAX && col <= MAX)){
 
 -                 count_NE++;
 
 -         }
 
 -         return count_NE;
 
 - }
 
 - int judge_SE(int row,int col,int turn){
 
 -         int count_SE = 0;
 
 -         while(chessBoard[row--][col++] == chess[turn] && (row >= MIN && col <= MAX)){
 
 -                 count_SE++;
 
 -         }
 
 -         return count_SE;
 
 - }
 
 - int judge_SW(int row,int col,int turn){
 
 -         int count_SW = 0;
 
 -         while(chessBoard[row--][col--] == chess[turn] && (row >= MIN && col >= MIN)){
 
 -                 count_SW++;
 
 -         }
 
 -         return count_SW;
 
 - }
 
  复制代码 
请黑棋落子!请输入要落子的坐标(行 列):1 5 
黑棋获胜! 
 0   1   2   3   4   5   6   7   8   9  10  11  12  13 
 1   0   @   @   @   @   *   *   *   *   *   *   *   * 
 2   *   0   *   *   *   *   *   *   *   *   *   *   * 
 3   *   *   0   *   *   *   *   *   *   *   *   *   * 
 4   *   *   *   0   *   *   *   *   *   *   *   *   * 
 5   *   *   *   *   *   *   *   *   *   *   *   *   * 
 6   *   *   *   *   *   *   *   *   *   *   *   *   * 
 7   *   *   *   *   *   *   *   *   *   *   *   *   * 
 8   *   *   *   *   *   *   *   *   *   *   *   *   * 
 9   *   *   *   *   *   *   *   *   *   *   *   *   * 
10   *   *   *   *   *   *   *   *   *   *   *   *   * 
11   *   *   *   *   *   *   *   *   *   *   *   *   * 
12   *   *   *   *   *   *   *   *   *   *   *   *   * 
13   *   *   *   *   *   *   *   *   *   *   *   *   * 
 
对了‘0’是表示白棋,‘@’是表示黑棋 
最后有个这样的结果,大佬们看看咋办呐   
我知道问题了,你在判断的时候多加了一次 
- #include <stdio.h>
 
 - #include <string.h>
 
 - #include <stdlib.h>
 
  
- #define MAX 13
 
 - #define MIN 1
 
  
- int addBlack(int row_in_fun, int col_in_fun, int count);
 
 - int addWhite(int row_in_fun, int col_in_fun, int count);
 
 - void cleanChessBoard(char* CB, int n);
 
 - int judge(int row_in_fun, int col_in_fun, int trun);
 
 - void printChessBoard(void);
 
 - void choose(void);
 
 - int judge_N(int row, int col, int turn);
 
 - int judge_S(int row, int col, int turn);
 
 - int judge_E(int row, int col, int turn);
 
 - int judge_W(int row, int col, int turn);
 
 - int judge_NW(int row, int col, int turn);
 
 - int judge_NE(int row, int col, int turn);
 
 - int judge_SE(int row, int col, int turn);
 
 - int judge_SW(int row, int col, int turn);
 
  
- char chessBoard[14][14];
 
 - char chess[2] = {'0', '@'};
 
  
- int main(){
 
 -         //char tmp[14][14] = {
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, '@', '0', '@', '@', '@', '@', '0', 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
 
 -         //        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 
 -         //};
 
 -         //
 
 -         //memcpy(chessBoard, tmp, sizeof(tmp));
 
 -         //printf("%d\n", judge(1, 2, 1));
 
 -         //exit(1);
 
 -         
 
 -         
 
 -         char *CB;
 
 -         CB = &chessBoard[0][0];
 
 -         cleanChessBoard(CB, 14);
 
 -         choose();
 
 -         return 0;
 
 - }
 
 - void cleanChessBoard(char* CB, int n){
 
 -         int i, j;
 
 -         for(i = 0; i < n; i++){  // n 为行 
 
 -                 for(j = 0; j < n; j++){ // j 为列 
 
  
-                         if(i == 0){
 
 -                                 printf("%2d", j); // 第一行打印棋盘上面的数字坐标 
 
  
-                         }
 
 -                         else if(j == 0 && i != 0){ //每一行的开头打印列标 
 
 -                                 printf("%2d", i);
 
 -                         }
 
 -                         else{
 
 -                                 printf(" ");
 
 -                                 *(CB + i * n + j) = '*';       //未落子的区域打印 * 表明未落子;
 
 -                                 printf("%c", chessBoard[i][j]);
 
 -                         } // 打印棋盘 
 
 -                         printf("  ");
 
 -                 }
 
 -                 printf("\n");
 
 -         }
 
 - }
 
 - int addBlack(int row_in_fun, int col_in_fun, int count){
 
 -         int flag;//接收judge的返回值,判断是否结束比赛 
 
 -         if(chessBoard[row_in_fun][col_in_fun] == '*'){   //判断该区域是否已经落了子 
 
 -                 chessBoard[row_in_fun][col_in_fun] = '@';
 
 -                 flag = judge(row_in_fun, col_in_fun, count);
 
 -                 if(flag){
 
 -                         printf("黑棋获胜!\n");
 
 -                         return 1;
 
 -                 }
 
 -         }
 
 -         else{
 
 -                 printf("这里有棋子了!");
 
 -                 printf("重新输入坐标:");
 
 -                 int row, col;
 
 -                 scanf("%d %d", &row, &col);
 
 -                 addBlack(row, col, count);
 
 -         }
 
 -         return 0;
 
 - }
 
 - int addWhite(int row_in_fun, int col_in_fun, int count){
 
 -         int flag;//接收judge的返回值,判断是否结束比赛 
 
 -         if(chessBoard[row_in_fun][col_in_fun] == '*'){
 
 -                 chessBoard[row_in_fun][col_in_fun] = '0';
 
 -                 flag = judge(row_in_fun, col_in_fun, count);
 
 -                 if(flag){
 
 -                         printf("白棋获胜!\n");
 
 -                         return 1;
 
 -                 }
 
 -         }
 
 -         else{
 
 -                 printf("这里有棋子了!");
 
 -                 printf("重新输入坐标:");
 
 -                 int row, col;
 
 -                 scanf("%d %d", &row, &col);
 
 -                 addWhite(row, col, count);
 
 -         }
 
 -         return 0;
 
 - }
 
 - void printChessBoard(void){
 
 -         int i, j;
 
 -         for(i = 0; i < 14; i++){  // n 为行 
 
 -                 for(j = 0; j < 14; j++){ // j 为列 
 
  
-                         if(i == 0){
 
 -                                 printf("%2d", j); // 第一行打印棋盘上面的数字坐标 
 
  
-                         }
 
 -                         else if(j == 0 && i != 0){ //每一行的开头打印列标 
 
 -                                 printf("%2d", i);
 
 -                         }
 
 -                         else{
 
 -                                 printf(" ");
 
 -                                 printf("%c", chessBoard[i][j]);
 
 -                         } // 打印棋盘 
 
 -                         printf("  ");
 
 -                 }
 
 -                 printf("\n");
 
 -         }
 
 - }
 
 - void choose(void){
 
 -         int count = 0;//判断是谁下棋 
 
 -         int row, col;
 
 -         int end;//结束判断 
 
 -         do{
 
 -                 if(count % 2 == 0){
 
 -                         printf("请白棋落子!");
 
 -                 }
 
 -                 else{
 
 -                         printf("请黑棋落子!");
 
 -                 }
 
 -                 printf("请输入要落子的坐标(行 列):");
 
 -                 scanf("%d %d", &row, &col);
 
 -                 if(count % 2 == 0){
 
 -                         end = addWhite(row, col, count);
 
 -                         count++;
 
 -                 }
 
 -                 else{
 
 -                         end = addBlack(row, col, count);
 
 -                         count++;
 
 -                 }
 
 -                 printChessBoard();
 
 -                 if(end){
 
 -                         break;
 
 -                 }
 
 -         }
 
 -         while(1);
 
 - }
 
  
- int judge(int row, int col, int turn){
 
 -         int N = 0, S = 0, E = 0, W = 0, NW = 0, NE = 0, SW = 0, SE = 0;
 
 -         turn = turn % 2;
 
 -         N = judge_N(row, col, turn);
 
 -         S = judge_S(row, col, turn);
 
 -         W = judge_W(row, col, turn);
 
 -         E = judge_E(row, col, turn);
 
 -         SW = judge_SW(row, col, turn);
 
 -         SE = judge_SE(row, col, turn);
 
 -         NW = judge_NW(row, col, turn);
 
 -         NE = judge_NE(row, col, turn);
 
 -         if(N + S >= 5 || W + E >= 5 || SW + NW >= 5 || NE + SE >= 5){
 
 -                 return 1;
 
 -         }
 
 -         return 0;
 
 - }
 
 - int judge_N(int row, int col, int turn){
 
 -         int count_N = 0;
 
 -         while(chessBoard[row--][col] == chess[turn] && row >= MIN){
 
 -                 count_N++;
 
 -         }
 
 -         return count_N;
 
 - }
 
 - int judge_S(int row, int col, int turn){
 
 -         int count_S = 0;
 
 -         while(chessBoard[++row][col] == chess[turn] && row <= MAX){
 
 -                 count_S++;
 
 -         }
 
 -         return count_S;
 
 - }
 
 - int judge_E(int row, int col, int turn){
 
 -         int count_E = 0;
 
 -         while(chessBoard[row][col++] == chess[turn] && col <= MAX){
 
 -                 count_E++;
 
 -         }
 
 -         return count_E;
 
 - }
 
 - int judge_W(int row, int col, int turn){
 
 -         int count_W = 0;
 
 -         while(chessBoard[row][--col] == chess[turn] && col >= MIN){
 
 -                 count_W++;
 
 -         }
 
 -         return count_W;
 
 - }
 
 - int judge_NW(int row, int col, int turn){
 
 -         int count_NW = 0;
 
 -         while(chessBoard[row++][col--] == chess[turn] && (row <= MAX && col >= MIN)){
 
 -                 count_NW++;
 
 -         }
 
 -         return count_NW;
 
 - }
 
 - int judge_NE(int row, int col, int turn){
 
 -         int count_NE = 0;
 
 -         while(chessBoard[++row][++col] == chess[turn] && (row <= MAX && col <= MAX)){
 
 -                 count_NE++;
 
 -         }
 
 -         return count_NE;
 
 - }
 
 - int judge_SE(int row, int col, int turn){
 
 -         int count_SE = 0;
 
 -         while(chessBoard[row--][col++] == chess[turn] && (row >= MIN && col <= MAX)){
 
 -                 count_SE++;
 
 -         }
 
 -         return count_SE;
 
 - }
 
 - int judge_SW(int row, int col, int turn){
 
 -         int count_SW = 0;
 
 -         while(chessBoard[--row][--col] == chess[turn] && (row >= MIN && col >= MIN)){
 
 -                 count_SW++;
 
 -         }
 
 -         return count_SW;
 
 - }
 
 
  复制代码 
- int judge(int row, int col, int turn){
 
 -         int N = 0, S = 0, E = 0, W = 0, NW = 0, NE = 0, SW = 0, SE = 0;
 
 -         turn = turn % 2;
 
 -         N = judge_N(row, col, turn);
 
 -         S = judge_S(row, col, turn);
 
 -         W = judge_W(row, col, turn);
 
 -         E = judge_E(row, col, turn);
 
 -         SW = judge_SW(row, col, turn);
 
 -         SE = judge_SE(row, col, turn);
 
 -         NW = judge_NW(row, col, turn);
 
 -         NE = judge_NE(row, col, turn);
 
 -         if(N + S >= 5 || W + E >= 5 || SW + NW >= 5 || NE + SE >= 5){
 
 -                 return 1;
 
 -         }
 
 -         return 0;
 
 - }
 
 - int judge_N(int row, int col, int turn){
 
 -         int count_N = 0;
 
 -         while(chessBoard[row--][col] == chess[turn] && row >= MIN){
 
 -                 count_N++;
 
 -         }
 
 -         return count_N;
 
 - }
 
 - int judge_S(int row, int col, int turn){
 
 -         int count_S = 0;
 
 -         while(chessBoard[++row][col] == chess[turn] && row <= MAX){
 
 -                 count_S++;
 
 -         }
 
 -         return count_S;
 
 - }
 
 - int judge_E(int row, int col, int turn){
 
 -         int count_E = 0;
 
 -         while(chessBoard[row][col++] == chess[turn] && col <= MAX){
 
 -                 count_E++;
 
 -         }
 
 -         return count_E;
 
 - }
 
 - int judge_W(int row, int col, int turn){
 
 -         int count_W = 0;
 
 -         while(chessBoard[row][--col] == chess[turn] && col >= MIN){
 
 -                 count_W++;
 
 -         }
 
 -         return count_W;
 
 - }
 
 - int judge_NW(int row, int col, int turn){
 
 -         int count_NW = 0;
 
 -         while(chessBoard[row++][col--] == chess[turn] && (row <= MAX && col >= MIN)){
 
 -                 count_NW++;
 
 -         }
 
 -         return count_NW;
 
 - }
 
 - int judge_NE(int row, int col, int turn){
 
 -         int count_NE = 0;
 
 -         while(chessBoard[++row][++col] == chess[turn] && (row <= MAX && col <= MAX)){
 
 -                 count_NE++;
 
 -         }
 
 -         return count_NE;
 
 - }
 
 - int judge_SE(int row, int col, int turn){
 
 -         int count_SE = 0;
 
 -         while(chessBoard[row--][col++] == chess[turn] && (row >= MIN && col <= MAX)){
 
 -                 count_SE++;
 
 -         }
 
 -         return count_SE;
 
 - }
 
 - int judge_SW(int row, int col, int turn){
 
 -         int count_SW = 0;
 
 -         while(chessBoard[--row][--col] == chess[turn] && (row >= MIN && col >= MIN)){
 
 -                 count_SW++;
 
 -         }
 
 -         return count_SW;
 
 - }
 
 
  复制代码 
- int judge(int row,int col,int turn){
 
 -         int N = 0,S = 0,E = 0,W = 0,NW = 0,NE = 0,SW = 0,SE = 0;
 
 -         turn = turn % 2;
 
 -         N = judge_N(row,col,turn);
 
 -         S = judge_S(row,col,turn);
 
 -         W = judge_W(row,col,turn);
 
 -         E = judge_E(row,col,turn);
 
 -         SW = judge_SW(row,col,turn);
 
 -         SE = judge_SE(row,col,turn);
 
 -         NW = judge_NW(row,col,turn);
 
 -         NE = judge_NE(row,col,turn);
 
 -         if(N + S >= 5 || W + E >= 5 || SW + NW >= 5 || NE + SE >=5){
 
 -                 return 1;
 
 -         }
 
 -         return 0;
 
 - }
 
 - int judge_N(int row,int col,int turn){
 
 -         int count_N = 0;
 
 -         while(chessBoard[row--][col] == chess[turn] && row >= MIN){
 
 -                 count_N++;
 
 -         }
 
 -         return count_N;
 
 - }
 
 - int judge_S(int row,int col,int turn){
 
 -         int count_S = 0;
 
 -         while(chessBoard[row++][col] == chess[turn] && row <= MAX){
 
 -                 count_S++;
 
 -         }
 
 -         return count_S;
 
 - }
 
 - int judge_E(int row,int col,int turn){
 
 -         int count_E = 0;
 
 -         while(chessBoard[row][col++] == chess[turn] && col <= MAX){
 
 -                 count_E++;
 
 -         }
 
 -         return count_E;
 
 - }
 
 - int judge_W(int row,int col,int turn){
 
 -         int count_W = 0;
 
 -         while(chessBoard[row][col--] == chess[turn] && col >= MIN){
 
 -                 count_W++;
 
 -         }
 
 -         return count_W;
 
 - }
 
 - int judge_NW(int row,int col,int turn){
 
 -         int count_NW = 0;
 
 -         while(chessBoard[row++][col--] == chess[turn] && (row <= MAX && col >= MIN)){
 
 -                 count_NW++;
 
 -         }
 
 -         return count_NW;
 
 - }
 
 - int judge_NE(int row,int col,int turn){
 
 -         int count_NE = 0;
 
 -         while(chessBoard[row++][col++] == chess[turn] && (row <= MAX && col <= MAX)){
 
 -                 count_NE++;
 
 -         }
 
 -         return count_NE;
 
 - }
 
 - int judge_SE(int row,int col,int turn){
 
 -         int count_SE = 0;
 
 -         while(chessBoard[row--][col++] == chess[turn] && (row >= MIN && col <= MAX)){
 
 -                 count_SE++;
 
 -         }
 
 -         return count_SE;
 
 - }
 
 - int judge_SW(int row,int col,int turn){
 
 -         int count_SW = 0;
 
 -         while(chessBoard[row--][col--] == chess[turn] && (row >= MIN && col >= MIN)){
 
 -                 count_SW++;
 
 -         }
 
 -         return count_SW;
 
 - }
 
  复制代码 
 
 
 |   
 
 
 
 |