C C 實現三子棋小程式

2021-10-10 17:38:19 字數 2941 閱讀 8041

首先宣告標頭檔案/game.h/

#ifndef __game_h__

#define __game_h__

//#pragma once //預防標頭檔案重複引用

#include

#include

#define row 3

#define col 3

void

initboard

(char board[

][col]

,int row,

int col)

;void

showboard

(char board[

][col]

,int row,

int col)

;void

playermove

(char board[

][col]

,int row,

int col)

;void

computermove

(char board[

][col]

,int row,

int col)

;char

iswin

(char board[

][col]

,int row,

int col)

;

第二步:建乙個/game.c/檔案

#define _crt_secure_no_warnings 1

#include

"game.h"

void

initboard

(char board[

][col]

,int row,

int col)

//設計介面背景(棋單)}}

//構造好後顯示棋單的函式

void

showboard

(char board[

][col]

,int row,

int col)

}printf

("\n");

//--- 控制行數

if(i < row -1)

}printf

("\n");

}}printf

("****************************\n");

}//玩家選擇棋子放到哪兒

void

playermove

(char board[

][col]

,int row,

int col)

}else}}

//電腦隨機匹配放棋子

void

computermove

(char board[

][col]

,int row,

int col)}}

//設計函式判斷是玩家贏還是電腦贏

char

iswin

(char board[

][col]

,int row,

int col)

//列if

(board[0]

[i]== board[1]

[i]&& board[1]

[i]== board[2]

[i]&&board[0]

[i]!=

' ')

//對角線

if(board[0]

[0]== board[1]

[1]&& board[1]

[1]== board[2]

[2]&&board[0]

[0]!=

' ')

if(board[0]

[2]== board[1]

[1]&& board[1]

[1]== board[2]

[0]&&board[0]

[2]!=

' ')if(

isfull

(board, row, col)==1

)//是否是平局--》棋盤裡面已經放滿了

}return

' ';

//代表沒有人贏

}static

intisfull

(char board[

][col]

,int row,

int col)}}

return1;

//滿}

第三步:建乙個/test.c/檔案,通過條件呼叫函式,就可以開始玩遊戲啦

#define _crt_secure_no_warnings 1

#include

"game.h"

void

menu()

void

game()

;initboard

(board, row, col)

;showboard

(board, row, col)

;int ret =0;

while(1

)computermove

(board, row, col)

;showboard

(board, row, col)

;ret =

iswin

(board, row, col);if

(ret !=

' ')}if

(ret ==

' q')if

(ret ==

'x')

if(ret ==

'o')

}int

main()

//主函式呼叫子函式

}while

(input)

;system

("pause");

return0;

}

三子棋程式

標頭檔案game.h ifndef game h define game h include include include exit or srand include memset or include define row 3 define col 3 void game endif 原始檔ga...

c語言小程式之三子棋

第一次寫這麼長的程式,再此總結一下。首先考慮test.c的功能 1 main函式內實現乙個遊戲介面,用乙個迴圈可以讓遊戲一直迴圈進行,並且再迴圈內部使用分支用來選擇開始遊戲or退出遊戲。2 寫乙個menu函式,作用是列印遊戲選單介面。3 寫乙個game函式,主要在函式內部呼叫各個步驟的函式,實現乙個...

三子棋的實現

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