C 實現三子棋,看就懂!

2021-09-29 05:55:29 字數 2952 閱讀 9659

三子棋遊戲俗稱井字棋,棋盤共三行三列,棋子擺滿任一行一列或者對角線就勝利了。

用到的知識:陣列傳參時發生降維,降維成該陣列內元素型別的指標。因此傳參時實參會通過形參的改變而改變。**整體分6塊,

1.void init(char board[row], int x,int y); 初始化棋盤,棋盤模擬成乙個二維陣列board

2.void show(char board[row], int x, int y);顯示棋盤當前狀態

3.char judge(char board[row], int x, int y);判斷遊戲是否結束,之後清算輸贏

4.void c_move(char board[row], int x, int y);模擬電腦落子

5.int firstone();模擬拋硬幣,決定落子先後順序

6.void game();遊戲的執行順序

標頭檔案 game.h

#ifndef __game_h__

#define __game_h__

#include

#include

#include

#pragma warning(disable:4996)

#define row 3

#define line 3

void

init

(char board[

][row]

,int x,

int y)

;void

show

(char board[

][row]

,int x,

int y)

;char

judge

(char board[

][row]

,int x,

int y)

;void

c_move

(char board[

][row]

,int x,

int y)

;int

firstone()

;void

game()

;#endif

game.c

#include

"game.h"

void

init

(char board[

][row]

,int x,

int y)}}

intfirstone()

printf

("硬幣已生成,請猜(反面:0,正面:1):>");

int select=0;

scanf

("%d"

,&select);if

(select == rnum)

else

}void

show

(char board[

][row]

,int x,

int y)

printf

("\n");

printf

("-------------\n");

}}char

judge

(char board[

][row]

,int x,

int y)

if(board[0]

[i]!=

' '&&board[0]

[i]== board[1]

[i]&& board[1]

[i]== board[2]

[i])}if

(board[0]

[0]!=

' '&&board[0]

[0]== board[1]

[1]&& board[0]

[0]== board[2]

[2])

return board[0]

[0];

if(board[0]

[2]!=

' '&&board[0]

[2]== board[1]

[1]&& board[0]

[2]== board[2]

[0])

return board[0]

[2];

for(

int i=

0; i < x; i++)}

return

'f';

}void

c_move

(char board[

][row]

,int x,

int y)}}

void

game()

doelse

if(board[x-1]

[y-1]!=

' ')

else

board[x-1]

[y-1]=

'x';

result=

judge

(board, line, row);if

(result !=

'n')

aa:c_move

(board,line,row)

; result=

judge

(board, line,row);if

(result !=

'n')

}while(1

);if(result ==

'x')

else

if(result ==

'o')

else

if(result ==

'f')

}

main.c

#include

"game.h"

void

menu()

intmain()

}system

("pause");

}

c 實現三子棋

2.顯示棋盤 3.玩家選擇座標進行下棋 4.電腦進行隨機座標下棋 5.每次落子後進行判斷輸贏 6.列印當前棋盤 二 介紹 總結 1.1主要用於函式宣告,以及對棋盤的大小進行初始化 標頭檔案的作用 1.方便開發 包含一些檔案需要的共同的常量,結構,型別定義,函式,變數申明 2.使函式的作用域從函式宣告...

C語言三子棋實現

標頭檔案 ifndef game h define game h include time.h include stdlib.h include string.h include stdio.h define rows 3 define cols 3 void init board char arr...

三子棋的實現

三子棋的實現還是比較簡單的,在寫 之前,你先構建一下遊戲的架構,這樣寫的時候思路比較清晰,不容易思想卡克,很容易就完成。再乙個,你寫的 並不是孤芳自賞的,而是要拿出來給別人看,別人可以清楚地看懂你的 這才是好 我們先來看三子棋的架構如何實現,這就看你的思維邏輯能力了。下面 很清晰的展現了這一架構 v...