C語言實現簡單的三子棋

2022-10-03 23:03:23 字數 2467 閱讀 4756

一、主要思想

1、建立乙個3*3的棋盤(使用字元陣列)

2、初始化棋盤(用空格填充)

3、列印棋盤(使其有可見的邊框)

4、玩家落子,用x表示(檢驗是否越界,是否已經落子,是否贏)

5、電腦落子,用o表示(檢驗是否已經落子,是否贏)  注:電腦在有效範圍內隨機落子,使用當前時間戳設定隨機種子即srand(time(0))

6、三種情況:玩家贏,電腦贏,和棋

二、**實現

#define _crt_secure_no_warnings

#include

#include

#include

//定義巨集,棋盤的最大行數和最大列數為3

#define max_row 3

#define max_col 3

//無論是玩家落子還是電腦落子,都需確定落子的行和列,以此確定在棋盤上的位置

//玩家落子

//玩家輸入之後,需要檢驗是否輸入越界,該位置是否已經落子

//若無這兩種情況,就將該位置賦值為'x',否則重新輸入

char playermove(char chessboard[max_row][max_col])

else if (chessboard[row][col]!=' ')else }

} jluutoh//電腦落子

//需要檢驗該位置是否落子(無需檢驗是否越界,因為我們設定的落子範圍為有效範圍)

//若無以上情況,就將該位置賦值為'o',否則,重新獲取隨機值

void computermove(char chessboard[max_row][max_col])

chessboard[row][col] = 'o';

break; }

} //判斷是否為和棋,即判斷棋盤是否滿

//找到空格代表未滿,找不到,則滿了(因為我們初始化的時候將棋盤初始化為空格' ')

//滿返回1,未滿返回0

char isfull(char chessboard[max_row][max_col])

} }//未找到,即滿了

return 1;}

//判斷是否贏

//'x'表示玩家獲勝

//'o'表示電腦獲勝

//' '表示勝負未分

//'h'表示和棋

char iswin(char chessboard[max_ro程式設計客棧w][max_col])

}//同一列相同

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

}//對角線相同

if (chessboard[0][0] != ' '

&& (chessboard[0][0] == chessboard[1][1])

&& (chessboard[0][0] == chessboard[2][2]))

if (chessboard[0][2] != ' '

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

&&(chessboard[0][2] == chessboard[2][0]))

//和棋

if (isfull(chessboard))

return ' ';}

//初始化棋盤,初始化為空格' '

void init(char chessboard[max_row][max_col]) }}

//列印棋盤

void printchessboard(char chessboard[max_row][max_col]) }

//遊戲

void game()

; init(chessboard);//初始化棋盤

char winner = ' ';

while (1)

computermove(chessboard);//電腦落子

winner = iswin(chessboard);

if (winner != ' ')

} if (winner == 'x')else if (winner == 'o')else if (winner == 'h')}

//選單

int menue(int choice)

//主函式

int main()

else if (choice == 0)else

} system("pause");

return 0;

}三、執行結果

大概框架如此,也可以進行優化,比如system("cls")清屏等

更多有趣的經典小遊戲實現專題,分享給大家:

c++經典小遊戲彙總

python經典小遊戲彙總

python俄羅斯方塊遊戲集合

j**ascript經典遊戲 玩不停

j**a經典小遊戲彙總

j**ascript經典小遊戲彙總

本文標題: c語言實現簡單的三子棋

本文位址:

C語言實現三子棋

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

三子棋C語言實現

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

C語言實現三子棋

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