c語言實現三子棋
c語言實現三子棋關鍵是運用到二維陣列的知識,使用多檔案程式設計來實現這個程式,我們需要建立乙個標頭檔案,兩個原始檔來實現:
main.c
chess.c
chess.h
如下圖所示,玩家的棋為字元 『x』,電腦的棋為字元 『0』
接下來,我們看一下具體的**實現:
首先,要完成對頭檔案的宣告:
#ifndef _chess_h_
#define _chess_h_
#include #include#include #define row 3
#define col 3
#define player_color 'x'
#define computer_color 'o'
#pragma warning(disable:4996)
void game();
void initboard(char board[col], int row, int col);
void showboard(char board[col], int row, int col);
void playermove(char board[col], int row, int col);
void judge(char board[col], int row, int col);
void computermove(char board[col], int row, int col);
#endif
兩個原始檔:
#include "chess.h"
void initboard(char board[col], int row, int col) }}
void showboard(char board[col], int row, int col)
}void playermove(char board[col], int row, int col)
else
} }}int fullboard(char board[col], int row, int col)
} }return 1;
}char judge(char board[col], int row, int col)
} for (i = 0; i < col; i++)
} if (board[0][0] == board[1][1] && board[1][1] == board[2][2] && board[0][0] != ' ')
else if (board[0][2] == board[1][1] && board[1][1] == board[2][0] && board[2][0] != ' ')
if (fullboard)
else
}int getrandom(int start, int end)
void computermove(char board[col], int row, int col) }}
void game()
computermove(board, row, col);
showboard(board, row, col);
result=judge(board, row, col);
if (result != 'n')
} switch (result)
//memset(board, ' ', sizeof(board));
printf("再來一局?\n");
}
#include "chess.h"
void showmenu()
int main()
} system("pause");
return 0;
}
實際上與我們自己的思考一樣,計算機採用我們的思維完成了這個遊戲:
三子棋的實現
三子棋的實現還是比較簡單的,在寫 之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的 並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的 這才是好 我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面 很清晰的展現了這一架構 v...
c 實現三子棋
2.顯示棋盤 3.玩家選擇座標進行下棋 4.電腦進行隨機座標下棋 5.每次落子後進行判斷輸贏 6.列印當前棋盤 二 介紹 總結 1.1主要用於函式宣告,以及對棋盤的大小進行初始化 標頭檔案的作用 1.方便開發 包含一些檔案需要的共同的常量,結構,型別定義,函式,變數申明 2.使函式的作用域從函式宣告...
簡單的三子棋實現
game.h pragma warning disable 4996 ifndef game h define game h include include include define row 3 define col 3 void initboard char board row col int...