五子棋(C語言)

2021-09-19 08:23:40 字數 1823 閱讀 9582

問題描述:在乙個10*10的棋盤中進行人機對戰

在這之前寫了一篇三子棋的**,五子棋與其原理相似,主要區別在於判斷輸贏上,10*10的棋盤,贏的條件是每行,每列,或正反對角線上有五個連續相同的棋子。

標頭檔案 fivechess.h

#ifndef _fivechess_h_

#define _fivechess_h_

#include#include#include#include#define row 10

#define col 10

void menu();//列印選單

void game();

void computer(char board[col], int row, int col);//電腦下棋

void show(char board[col], int row, int col);//棋盤展示

char judge(char board[col], int row, int col);//判斷輸贏

void player(char board[col], int row, int col);//玩家下棋

#endif

函式的實現 fivechess.c

#define _crt_secure_no_warnings 1

#include "fivechess.h"

void menu()//列印選單

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

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

printf("\n---------------------------------------------\n");

//printf("\n");

} printf("\n");

}char judge(char board[col], int row, int col)

} }//判斷列

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

} }//判斷正斜線

for (int i = 0; i < row; i++)

} }//判斷反斜線

for (int i = 0; i =0; j--)

} }for (int i = 0; i < row; i++)

} }return 'e';

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

else

} else }}

void game()

player(board, row, col);

show(board, row, col);

result = judge(board, row, col);

if ('n' != result)

} switch (result)

}

主函式 main.c

#define _crt_secure_no_warnings 1

#include "fivechess.h"

int main()

} system("pause");

return 0;

}

由於我比較懶,所以展示部分遊戲截圖,大家可以自己多玩幾次,有不對的地方可以加以修改調整,當然了,電腦比較「笨」,你想輸一次也不容易呢

C語言五子棋

實戰五子棋 思路 1.棋盤由邊緣數字和橫豎線及棋子構成 2.先init初始化,畫出棋盤的數字邊緣,為了第一次下棋的時候能看見棋盤樣子,其實可以封裝起來用 3.落子之後呼叫draw cross畫出整個棋盤,依舊是先畫邊緣數字,再畫棋子,一行一行畫 4.判斷輸贏。include include defi...

C語言五子棋

include 呼叫圖形庫函式 include getchar 標頭檔案 include 標準輸入輸出標頭檔案 void game void play int judge int a,int b int flag 0 用於記錄和區分棋手1或2 int board 20 20 用於表示棋盤上落子點的座...

五子棋 C語言

五子棋遊戲程式 較高難度 有加分 設計分值 20 30分 應用c語言編寫程式,可以在計算機上實現二人對弈五子棋功能。功能要求 1 歡迎介面生成 遊戲介面生成 2 游標移動和落子顯示 3 判斷勝負 悔棋功能,提供音效 4 綜合應用結構體 陣列 按鍵處理和圖形程式設計等程式設計方法。10.2演算法設計 ...