簡單的三子棋的實現

2021-08-01 07:55:09 字數 2225 閱讀 4559

程式執行結果如下:

本次**,實現乙個簡易的三子棋遊戲,基本思路是:列印選單——選擇遊戲——列印初始棋盤——玩家下棋——電腦隨機下棋(利用rand(srand)的庫函式)——判斷(棋盤是否的格仔是否為空,判斷哪一方贏)——結束遊戲。

**為下:

game.h

#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 player_move(char board[rows][cols], int row, int col);         //玩家移動

void compute_move(char board[rows][cols], int row, int col);        //電腦移動

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

#endif  \\_game__h__

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_move(char board[rows][cols], int row, int col)

else

}else}}

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

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

}return 1;

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

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

if ((board[0][0] == board[1][1])

&& (board[1][1] == board[2][2])

&& (board[1][1] != ' '))

return board[1][1];

if ((board[0][2] == board[1][1])

&& (board[1][1] == board[2][0])

&& (board[1][1] != ' '))

return board[1][1];

if (is_full(board, row, col))

return 'q';

return ' ';

}test.c

#define _crt_secure_no_warnings 1

#include"game.h"

void menu()

void game()

;int ret = '0';

init_board(board, rows, cols);//初始化棋盤

display_board(board, rows, cols);//列印棋盤

srand((unsigned int)time(null));

while (1)

if (ret == 'x')

printf("玩家贏\n");

else if (ret == '0')

printf("電腦贏\n");

else if (ret == 'q')

printf("平局\n");

display_board(board, rows, cols);

}int main()

} while (input);

return 0;

}

簡單的三子棋實現

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...

簡單三子棋

c8 簡單三子棋 使用二維陣列 建立乙個棋盤,每乙個元素都是乙個char x 表示玩家落子 o 表示電腦落子 表示未落子 define crt secure no warnings include include include int menu define max row 3 define ma...

三子棋的實現

三子棋的實現還是比較簡單的,在寫 之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的 並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的 這才是好 我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面 很清晰的展現了這一架構 v...