C語言實現三子棋

2021-08-09 14:02:08 字數 2431 閱讀 7231

game.h

#define _crt_secure_no_warnings 1

#ifndef __game_h__

#define __game_h__

#include#include#include#include#define rows 3

#define cols 3

void init_board(char board[rows][cols], int row, int col);

void display_board(char board[rows][cols], int row, int col);

void com_board(char board[rows][cols], int row, int col);

void player_board(char board[rows][cols], int row, int col);

int winner(char board[rows][cols], int row, int col);

int loser(char board[rows][cols], int row, int col);

#endif

game.c

#define _crt_secure_no_warnings 1

#include"game.h"

void init_board(char board[rows][cols], int row, int col)//棋盤初始化

void display_board(char board[rows][cols], int row, int col)//棋盤的列印展示 }}

void player_board(char board[rows][cols], int row, int col)//玩家下棋

else

}else

printf("\n");

}void comp_board(char board[rows][cols], int row, int col)//電腦下

} printf("\n");

}int winner(char board[rows][cols], int row, int col)

if (board[i][0] == board[i][1] && board[i][1] == board[i][2] && board[i][1] == 'o')//電腦的行判斷

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

if (board[0][j] == board[1][j] && board[1][j] == board[2][j] && board[1][j] == 'o')//電腦的列判斷

}if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[1][1] == 'x')//人的斜判斷

if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[1][1] == 'x')//人的斜判斷

if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[1][1] == 'o')//電腦的斜判斷

if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[1][1] == 'o')//電腦的斜判斷

int c = is_full(board, rows, cols);//判斷是否滿了

if (c == 5) }

int is_full(char board[rows][cols], int row, int col)

} }return 5;

}

game.c

#define _crt_secure_no_warnings 1

#include"game.h"

void venu()

game()

else if (winner(board, rows, cols) == 3)

comp_board(board, rows, cols);//電腦下棋

display_board(board, rows, cols);

if (winner(board, rows, cols) == 2)

else if (winner(board, rows, cols) == 3)

}}int main()

} while (input);

return 0;

}

下圖為執行結果:

三子棋C語言實現

要寫這個三子棋的程式我們分為三個部分首先是宣告函式的標頭檔案,我們分別宣告了五個函式,初始化棋盤,列印棋盤,玩家走,電腦走,檢查是否贏了。之後我們寫測試 然後分別來實現這五個函式 define crt secure no warnings 1 ifndef game h define game h ...

C語言實現三子棋

實現三子棋程式,只要我們能夠理清楚思路,就可以知道其實它的做法並不難,重點在於實際寫 時需要多關注細節。這裡我們可以寫完一塊就可以立馬執行程式檢查是否如我們所想的效果出現,如若不是便可立即查錯糾錯。如下。test.c include include include include game.h vo...

C語言實現三子棋

本文是編寫乙個小專案 三子棋 有單人模式 人機 和雙人模式 人人 兩種 主要步驟 1 首先建立三個檔案 這是我建立的,當熱名字可以隨個人愛好起,main.c中主要實現的時總選單,只需呼叫函式即可 sanziqi.h中實現的 是函式的宣告,當然在該專案中我並沒有分太多的函式 sanziqi.c中實現的...