首先列印選單,並初始化棋盤
1.用二維陣列,把陣列的沒乙個元素置為 』 』
2.列印棋盤
3.玩家落子(scanf()實現)
4.檢查輸入的位置是否已經有子,如果有則需要重新輸入(1-3之間)
5.判斷輸贏(包括棋盤是否已滿的情況)
6.電腦落子(用rand()隨機數實現)
7.檢查隨機數所指向的位置是否已經有子,如果有,則重新產生隨機數(1-3之間)
8.判斷輸贏(包括棋盤是否已滿的情況)
重複3 - 8步驟.
主函式
void menu()
int main()
} return 0;
}
進入遊戲
void game();
initboard(arr,max_row,max_col);//初始化棋盤
showboard(arr, max_row, max_col);//列印棋盤
while (1)
else
}computer(arr, max_row, max_col);//電腦落子
showboard(arr, max_row, max_col);//列印棋盤
ret = iswin(arr, max_row, max_col);
if (ret != 0)
else
}}}
初始化棋盤
void initboard(int (*arr)[max_col], int row, int col)
}}
列印棋盤
void showboard(int(*arr)[max_col], int row, int col)
}printf("\n");
if (i < row - 1)}}
printf("\n");
}}
玩家落子(如果該位置上已經有子,則需要重新輸入)
void player(int(*arr)[max_col], int row, int col)
arr[i - 1][j - 1] = 'x';
break;
}}
檢查落子(如果該位置已經有子,返回0,否則返回1)
int isfull(int(*arr)[max_col],int row, int col)
return 0;
}
判斷輸贏,包含棋盤已經下滿的情況(根據返回值的情況確定誰贏,或者平局)
char iswin(int(*arr)[max_col], int row, int col)
if (arr[1][0] == arr[1][1] && arr[1][0] == arr[1][2] && arr[1][0] != ' ')
if (arr[2][0] == arr[2][1] && arr[2][0] == arr[2][2] && arr[2][0] != ' ')
//豎著
if (arr[0][0] == arr[1][0] && arr[0][0] == arr[2][0] && arr[0][0] != ' ')
if (arr[0][1] == arr[1][1] && arr[0][1] == arr[2][1] && arr[0][1] != ' ')
if (arr[0][2] == arr[1][2] && arr[0][2] == arr[2][2] && arr[0][2] != ' ')
//對角線
if (arr[0][0] == arr[1][1] && arr[0][0] == arr[2][2] && arr[0][0] != ' ')
if (arr[0][2] == arr[1][1] && arr[0][2] == arr[2][0] && arr[0][2] != ' ')
int i = 0;
int j = 0;
for (i = 0; i < row; i++)
}} return 1;//平局
}
電腦落子(如果該位置上已經有子,則需要重新生成隨機數)
void computer(int(*arr)[max_col], int row, int col)
arr[i - 1][j - 1] = 'o';
break;
}}
檢查
判斷輸贏,和棋盤是否已經下滿的情況
重複3 - 8 步驟.
日常練習(三子棋)
game.h 檔案 用來放本程式所用到的庫函式,以及自定義函式的宣告 include include include define row 3 define col 3 函式宣告 void initboard char board row col int row,int col 初始化棋盤 void...
C語言 三子棋練習
首先,在編寫之前,要建立標頭檔案和相應的.c檔案 其中,game.件用於寫入所有要用的標頭檔案,實現三子棋遊戲的所有函式的宣告和巨集常量的定義。include include include define row 3 define col 3 void initboard char board ro...
三子棋遊戲
首先介紹一下三子棋遊戲規則 這是乙個玩家和電腦對戰的三子棋遊戲 棋盤如上圖所示,三個棋子連在一起則勝利 下面就是用c語言實現的方法 建立棋盤 利用二維陣列來實現乙個棋盤,棋盤剛開始是沒有任何棋子的,將二維陣列所有元素初始化為空格即可 玩家下棋 玩家輸入棋盤中的對應座標來下棋,下棋時需要考慮輸入座標合...