問題描述:在乙個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演算法設計 ...