練習 三子棋

2021-09-27 07:43:14 字數 2303 閱讀 7894

首先列印選單,並初始化棋盤

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語言實現的方法 建立棋盤 利用二維陣列來實現乙個棋盤,棋盤剛開始是沒有任何棋子的,將二維陣列所有元素初始化為空格即可 玩家下棋 玩家輸入棋盤中的對應座標來下棋,下棋時需要考慮輸入座標合...