C語言實現三子棋小遊戲

2021-10-17 08:46:31 字數 3343 閱讀 4586

三子棋遊戲

這個小遊戲大家眾所周知,在學習了一段時間c語言之後,嘗試編寫這個遊戲。我用的是編譯環境是vs 2013。

基本思路:

展示棋盤

玩家下棋

電腦下棋

判斷輸贏

首先建立乙個標頭檔案game.h,存放遊戲編寫所需要的功能函式,儲存程式的宣告,如下所示:

#define row 3

#define col 3

//人下用『m』表示,電腦下用『c』表示

void

boardinit

(char board[row]

[col]

,int row,

int col)

;void

boardshow

(char board[row]

[col]

,int row,

int col)

;void

boardplayer

(char board[row]

[col]

,int row,

int col)

;void

boardcomputer

(char board[row]

[col]

,int row,

int col)

;//電腦贏了返回『c』,玩家贏了返回『m』,若為平局則返回『q』

char

isfull

(char board[row]

[col]

,int row,

int col)

;char

iswin

(char board[row]

[col]

,int row,

int col)

;

接著寫原始檔,game.c中寫標頭檔案中已宣告的各個函式。

1.棋盤的初始化,將棋盤設定成乙個3×3的二維陣列,則有9個座標,將每個座標的位置都初始化為空即『 』。

#include

#include

#include

#include

"game.h"

void

boardinit

(char board[row]

[col]

,int row,

int col)

}}

2.展示棋盤,將棋盤網格的形式列印出來,以便於玩家觀察並下棋,列印出來是乙個3×3的網格。

//展示棋盤

void

boardshow

(char board[row]

[col]

,int row,

int col)

printf

("\n");

for(

int i =

0; i < row; i++

)printf

("\n");

printf

("|");

for(

int j =

0; j < col;

++j)

printf

("\n");

}}

3.玩家下棋,玩家需要輸入落子的位置所對應的座標即可。

void

boardplayer

(char board[row]

[col]

,int row,

int col)

else

if(board[x]

[y]!=

' ')

else

}}

4.電腦下棋,電腦落子的位置是隨機的,利用srand函式產生隨機值。

void

boardcomputer

(char board[row]

[col]

,int row,

int col)

else

}}

5.判斷棋盤是否已經下滿,如果每個座標都不為空,則已下滿。

char

isfull

(char board[row]

[col]

,int row,

int col)

}return

'q';

}

6.判斷輸贏,若棋盤的某行某列或者某個對角線都是m即玩家下的棋,則玩家獲勝;若都是c即電腦下棋,則電腦獲勝;最後還需判斷一下棋盤是否滿了,若滿了,則代表此局是平局。

char

iswin

(char board[row]

[col]

,int row,

int col)

else

if(board[i][0

]=='c')}}

//判斷列贏

for(

int i =

0; i < col; i++

)else

if(board[0]

[i]==

'c')}}

//判斷對角線贏

if(board[0]

[0]== board[1]

[1]&& board[1]

[1]== board[2]

[2]|| board[0]

[2]== board[1]

[1]&& board[1]

[1]== board[2]

[0])

else

if(board[1]

[1]==

'c')

}isfull

(board, row, col)

;//平局

}

最後,需要寫乙個test.c的原始檔,用主函式main()將整個程式聯絡起來,執行起來。在這個裡面把主選單展示出來以便於玩者做出選擇。

#include

#include

"game.h"

void

menu()

void

threechess()

if(ret ==

'c')

else

if(ret ==

'm')

else

if(ret ==

'q')

else}}

intmain()

}while

(input !=0)

;return0;

}

最後的效果展示如下:

小遊戲 三子棋(C語言實現)

在電腦中存放時間有點久了,先把 寫一下,後邊有空加 與注釋。實現 game.h檔案 define crt secure no warnings 1 ifndef game h define game h include include include includeenum option defin...

C語言實現三子棋小遊戲

三子棋,和五子棋的原理是一樣的,當玩家或者是電腦的某一方先將各自的三個棋子下成一條線時誰就贏,遊戲就會結束。遊戲會有三種結果 電腦贏 玩家贏 平局。在 中也需要這三種情況的判定。要寫程式,就要清楚 需要幾個模組,可以分為以下幾個 棋盤初始化 電腦 玩家分別走棋 輸贏的判定 先對頭檔案定義 頭檔名 s...

C語言實現三子棋小遊戲

一 首先說一下具體思路 我們首先要想到的是三子棋的棋盤是乙個3 3的正方形棋盤,那麼這個棋盤我們可以用乙個二維陣列來實現。接下來就要想到具體要怎麼玩兒,首先讓電腦下乙個棋子走一步,然後玩家再下乙個棋子走一步。電腦下棋我們要產生一些隨機數,玩家下棋需要輸入具體的座標。最後就是判斷輸贏了 我們知道,三行...