c 實現五子棋遊戲

2022-07-18 16:48:31 字數 2039 閱讀 9680

設計思路

先用二維陣列定義乙個棋盤,0代表沒有玩家下過,1代表玩家一的棋子,2代表玩家二的棋子,將棋盤輸出,然後讓玩家依次輸入所要下的位置的行數和列數,並賦值給陣列,之後進行判斷:判斷棋盤上所有棋子是否有連續5個,如果是,則返回獲勝玩家,如果否,則繼續輸入下一步要下的棋子座標

**實現

1 #include2 #include3

4#define height 15 //

定義棋盤行數

5#define width 15 //

定義棋盤列數

6#define player1 'x' //

定義玩家一棋子

7#define player2 'o' //

定義玩家二棋子89

int map[height][width]; //

定義遊戲棋盤

1011

//輸出棋盤

12void

sc()

1340 printf("");

41for (int i = 0;i <= width;i++)

42 printf("

- "

);43 printf("\n"

);44}45

//落子

46void play(int

player)

4760 printf("

請輸入格仔的列數:");

61 scanf_s("

%d", &targetw);

62while (targetw <= 0 || targetw >width)

6367

if(map[targeth - 1][targetw - 1] ==0

)68 map[targeth-1][targetw-1]=player;

69else

7074}75

76//

判斷遊戲是否結束,並返回勝利玩家

77int pd(int

player)

7891

if (k == 5

)

92return

player;

93for (k = 1;k < 5;k++) //

判斷是否一列連續5個棋子

9498

if (k == 5)99

return

player;

100for (k = 1;k < 5;k++) //

判斷是否一斜線連續5個棋子

101105

if (k == 5

)106

return

player;

107}

108}

109return

0; //

如果都沒有連續5個棋子,遊戲繼續

110}

111//

初始化棋盤

112void

csh()

113118

119120

void

main()

121134 winplayer == 1 ? printf("

恭喜玩家一獲得勝利!!!\n

") : printf("

恭喜玩家二獲得勝利!!!\n");

135 printf("

輸入1重新開始,輸入其他任意數字退出遊戲");

136 scanf_s("

%d",&isagain);

137if (isagain == 1

)138

142143 }

效果截圖

C 實現五子棋

自己寫了一下午,但是還是除錯的時候存在很多問題 繼續改善繼續調整 game.h define game h define row 5 define col 5 void displayboard char board row col int row,int col void gameplayer c...

c 小遊戲 五子棋

include include includeusing namespace std const int x 21 棋盤行數 const int y 21 棋盤列數 char p x y 定義棋盤 int m 0 定義臨時點,儲存輸入座標 int n 0 void display 輸出棋盤 else...

c 小遊戲 五子棋

include include includeusing namespace std const int x 21 棋盤行數 const int y 21 棋盤列數 char p x y 定義棋盤 int m 0 定義臨時點,儲存輸入座標 int n 0 void display 輸出棋盤 else...