用C語言寫乙個簡單的三子棋,實現玩家與電腦的對戰

2021-08-31 16:30:42 字數 1749 閱讀 6967

源**:

#define _crt_secure_no_warnings

#include

#include

#include

/* 用 c 寫乙個三子棋

*///邏輯:

//1. 畫乙個棋盤 --> 用二維陣列實現

//2. 規定使用者先下棋 x

//3. 判斷遊戲是否結束

//4. 電腦再下棋 o

//5. 判斷遊戲是否結束

//從 2 開始重複上述操作

//畫乙個初始棋盤

//行列都為3

#define row 3

#define col 3

char chess[row]

[col]

;//初始化二維陣列

void

init()

}}void

chessboard()

}}//使用者先下棋

void

playe***ll()

if(chess[row]

[col]

!=' '

) chess[row]

[col]

='x'

;break;}

system

("cls");

chessboard()

;}//電腦下棋

void

compute***ll()

chess[row]

[col]

='o'

;break;}

system

("cls");

chessboard()

;}//判斷遊戲狀態

enum state nowstate;

intgamestate()

else}}

//判斷每列連成三子的情況

for(

int col =

0; col < col; col++

)else}}

//判斷對角線連成三子的情況if(

(chess[0]

[0]== chess[1]

[1]&&

chess[0]

[0]== chess[2]

[2]&&

chess[0]

[0]!=

' ')

||(chess[2]

[0]== chess[1]

[1]&&

chess[2]

[0]== chess[0]

[2]&&

chess[2]

[0]!=

' ')

)else

}//判斷遊戲是否繼續

for(

int row =

0; row < row; row++)}

}//判斷是否下滿棋盤依然未分出勝負的情況

nowstate = draw;

return nowstate;

}int

main()

compute***ll()

;if(gamestate()

!= keep)}if

(gamestate()

== fail)

elseif(

gamestate()

== win)

else

system

("pause");

return0;

}

用C語言寫乙個三子棋遊戲

執行環境 win10 vs2013 由於本程式在上傳後,不經意間輸出出現bug,現已修復,有興趣的朋友複製下方 進行學習 程式設計和思路均已注釋的行為存放在源 中 原始程式截圖 include include include 對陣列的長度定義為巨集,方便後期對程式進行擴充套件 直接修改巨集定義即可 ...

C語言 簡單實現三子棋

今天我們來完成乙個三子棋的小遊戲。遊戲要實現 在3 3的棋盤上進行人機對弈,玩家輸入棋盤座標下棋,電腦通過產生隨機數下棋。最終,誰先完成三子相連,就是贏家。若在棋盤下滿還未決出勝負,那就是平局。為了完成這個遊戲,我們要建立三個檔案,分別為chessboard.h chessboard.c test....

C語言簡單實現三子棋

首先我們在vs2013中建立乙個test.c和game.c檔案,再建立乙個test.h標頭檔案,其中game.c檔案裡面編寫三子棋的主要功能實現,test.c檔案用於三子棋功能測試,test.h檔案用於宣告函式。函式解釋 memset void dest,intc,size tcount dest為...