C語言三子棋

2021-09-28 13:27:00 字數 3309 閱讀 2236

1.雙方一人一手

2.不可下在已經下過的地方

3.三子練成及判贏或棋盤下滿判平局1.程式設計可按照其規則編寫,分析其規則可建立三個模組(標頭檔案game.h,遊戲檔案game.c和測試test.c)

測試檔案test.c開始進行選擇

#define _crt_secure_no_warnings 1

#include

"game.h"

void

menu()

建立空的3*3二維陣列進行存放棋子
void

box_jl

(char box[3]

[3])

}}

主函式中包含了選擇和下棋函式playgame,人下棋函式myplay,電腦下棋函式complay 以及判斷函式win,判滿函式full,通過兩個int判斷函式的返回值來判斷
int

main()

;box_jl

(box)

;menu()

;printf

("請選擇->");

scanf

("%d"

,&true)

;switch

(true)

break

;case0:

printf

("退出遊戲!\n");

break

;default

:printf

("輸入錯誤,重新輸入\n");

break;}

if(ret ==

'*')

printf

("玩家勝\n");

if(ret ==

'#')

printf

("電腦勝\n");

if(ret ==

'q')

printf

("平局\n");

}while

(true)

;system

("pause");

return0;

}

2. 遊戲函式game.c

建立棋盤

#define _crt_secure_no_warnings 1

#include

"game.h"

void

playgame

(char box[3]

[3],

int row,

int col)

printf

("\n");

if(i < row -1)

}printf

("\n");

}}

人下棋

其中包含了判斷是否可以下棋,可下則由" "變 " * "

void

myplay

(char box[3]

[3],

int row,

int col)

else

printf

("座標有誤,請重新輸入\n");

}else

printf

("座標有誤,請重新輸入\n");

}

同樣的電腦下棋

電腦下棋通過產生隨機函式來確定下的位置

void

complay

(char box[3]

[3],

int row,

int col)

}}

判斷輸贏則一豎列或者一橫行或者兩條對角線
int

win(

char box[3]

[3],

int row,

int col)

for(j =

0;j < col;j++)if

(box[0]

[0]==

'*'&& box[1]

[1]==

'*'&& box[2]

[2]==

'*')

return

'*';

if(box[0]

[0]==

'#'&& box[1]

[1]==

'#'&& box[2]

[2]==

'#')

return

'#';

if(box[0]

[2]==

'*'&& box[1]

[1]==

'*'&& box[2]

[0]==

'*')

return

'*';

if(box[0]

[2]==

'#'&& box[1]

[1]==

'#'&& box[2]

[0]==

'#')

return

'#';

return

' ';

}

判滿函式
int

full

(char box[3]

[3],

int row,

int col)

}return

'q';

}

最後標頭檔案game.h
#define _crt_secure_no_warnings 1

#include

#include

#include

#include

void

playgame

(char box[3]

[3],

int row,

int col)

;void

you(

char box[3]

[3],

int row,

int col)

;void

mayplay

(char box[3]

[3],

int row,

int col)

;void

complay

(char box[3]

[3],

int row,

int col)

;int

win(

char box[3]

[3],

int row,

int col)

;int

full

(char box[3]

[3],

int row,

int col)

;

C語言 三子棋

使用工具 vs2017 分為三部分 game.h 函式宣告 game.c 實現函式功能 test.c main函式 棋盤為3 3的矩陣 規則 1.每回合玩家與電腦只能放置一枚棋子 2.已有棋子的位置不能再放置棋子 3.若有一方的三枚棋子可連城一條直線,則勝利 4.若棋盤棋子已經布滿,但是雙方沒有一方...

三子棋(c語言)

今天做了乙個三子棋小遊戲,寫了好久卻只完成了一部分,先把這部分分享給大家吧!望大家給點建議和指導,最後判斷輸贏部分到現在還沒構思出來,嘿嘿!game.h define crt secure no warnings 1 ifndef game h define game h include inclu...

c語言 三子棋

c語言三子棋 來完善一下三子棋 game.h define crt secure no warnings 1 ifndef game h define game h include include include include define row 3 define col 3 void menu...