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