C語言實現簡單五子棋遊戲

2022-09-21 21:33:19 字數 2626 閱讀 7263

在生活中五子棋是乙個十分普遍的一款遊戲,今天讓我們一起來實現這款遊戲。

1.初始化棋盤

char ret;

//資料儲存在乙個二維陣列中,玩家下去*,電腦下去#.

char board[row][col] = ;//最開始為全是空格

initboard(board,row,col);//初始化棋盤

我們利用initboard函式來初始化棋盤,用 * 來表示玩家下棋,用 # 來表示電腦下棋。

**如圖:

void initboard(char board[row][col], int row, int col)

}}2.列印棋盤格式

char ret;

//資料儲存在乙個二維陣列中,玩家下去*,電腦下去#.

char board[row][col] = ;//最開始為全是空格

initboard(board,row,col);//初始化棋盤

displayboard(board, row, col);//列印棋盤

這裡我們引入了dispalyboard函式來列印棋盤格式。

**如下:

void displayboard(char board[row][col], int row, int col)

printf("\n");

for (j = 0; j < col; j++)

if (j < col-1&&i

通過以上步驟我們基本上實現了棋盤的基本格式,讓我們來看一看成效

這裡的選單我認為大家都可以獨立完成。

讓我們來進行下乙個步驟

3.玩家走棋

playmove(board, row, col);//玩家下棋

這裡我們引入了playmove函式用來實現玩家走棋

**如圖:

void playmove(char board[row][col], int row, int col)

else

}else}}

我們距離成功已經接近了!!!

4.電腦走棋

computermove(board, row, col);

這裡我們引入compuermove函式來實現電腦走棋

**如下:

void computermove(char board[row][col], int row, int col) }

}這裡我們完成了玩家和電腦的走棋,接下來我們需要判斷棋盤的狀態:

1.玩家五字連在一起

2.電腦五字連在一起

3.棋盤佔滿,沒有分出勝負

4.以上三者都不滿足,繼續下棋

5.判斷棋盤

我們這裡與上文結合在一起,更直觀的了解**。

void game()

pqlkr;//最開始為全是空格

initboard(board,row,col);//初始化棋盤

displayboard(board, row, col);//列印棋盤

//下棋

while (1)

}我們引入了is_win函式,以它的返回值來判斷棋盤的狀態

**實現如下:

char is_win(char board[row][col], int row, int col)

}//求列

for (y = 0; y < col; y++)

} //求對角線

if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[2][2] == board[3][3] && board[3][3] == board[4][4] && board[0][0] != ' ')

if (board[0][4] == board[1][3] && board[1][3] == board[2][2] && board[2][2] == board[3][1] && board[3][1] == board[4][0] && board[0][4] != ' ')

if (isfull(board,row,col))

return 'c';

}這裡我們又用到isfull函式來判斷棋盤在不滿足五字連的前提下,棋盤是否滿棋。

函式實現如下:

int isfull(char board[row][col], int row, int col)

} }return 1;

}最後判斷如下:

void game()

;//最開始為全是空格

initboard(board,row,col);//初始化棋盤

displayboard(board, row, col列印棋盤

//下棋

while (1)

computermove(board, row, col)程式設計客棧; //電腦下棋

displayboard(board, row, col);//列印

if (ret != 'c')

}if (ret == '*')

if (ret == '#')

pqlkr

if (ret == 'q')

}我們已is_win函式的返回值為判斷依據最後得出結論。

五子棋簡單實現就到此結束,謝謝**!!

本文標題: c語言實現簡單五子棋遊戲

本文位址:

C語言實現 五子棋遊戲

之前我們實現了關於電腦版的三子棋的遊戲玩法和思路,今天我們來實現五子棋的玩法和思路 和三子棋的很多思路很相似 define crt secure no warnings include include include define row 10 define col 10 char border r...

C語言實現五子棋

首先展示結果,這是執行以後出現的效果,在 定義棋盤大小 int p maximus maximus 儲存對局資訊 char buff maximus 2 1 maximus 4 3 輸出緩衝器 int cx,cy 當前游標位置 int now 當前走子的玩家,1代表黑,2代表白 int wl,wp ...

C語言實現五子棋

可以稱得上史上最簡單的五子棋版本了。可以使用curses庫來改進頁面和下棋方式。並且對於輸入的座標沒有進行鑑別,如果輸入的座標超過棋盤大小,就會段錯誤退出。我改進了一點,但是還是沒有完全避免這個問題。gobang.c include include define n 15 int chessboar...