C語言 陣列的應用 三子棋小遊戲

2021-10-05 07:56:31 字數 2957 閱讀 6117

要實現乙個三子棋的**,應該理清思路,先搭框架再進行細節的填充。

1.進入乙個遊戲,首先要有選單進行選擇。(玩還是不玩)

2.使用者選擇之後就要出現遊戲的面板:乙個三行三列的棋盤;此時就應該定義乙個二維陣列,先將面板進行初始化,再將遊戲的面板展現給使用者。

3.接下來使用者和計算機進行輸入,每輸入一次就要有一次判斷。判斷的結果有:使用者贏了或電腦贏了或平局。

由於這個遊戲包含的函式較之前會比較多,所以這次就採用多檔案的形式,一方面**會比較規範,另外一方面是讓**更加清晰明了。多檔案是將函式、變數的宣告,函式的具體實現,函式的呼叫分開來實現。

#ifndef _chess_h_

#define _chess_h

#include

#include

#include

#include

#pragma warning (disable :4996)

#define row 3

#define col 3

#define black_piece 'x'

#define white_piece 'o'

void

game()

;void

initbord

(char board[

][col]

,int row,

int col)

;void

showboard

(char board[

][col]

,int row,

int col)

;int

playermove

(char board[

][col]

,int row,

int col)

;void

computermove

(char board[

][col]

,int row,

int col)

;char

juderesult

(char board[

][col]

,int row,

int col)

;#endif

#include

"chess.h"

//初始化面板,遍歷二維陣列

void

initboard

(char board[

][col]

,int row,

int col)}}

//顯示遊戲面板

void

showboard

(char board[

][col]

,int row,

int col)

printf

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

}//使用者下棋

intplayermove

(char board[

][col]

,int row,

int col)

board[x -1]

[y -1]

= black_piece;

return0;

}return1;

//使用者輸入座標有誤

}//判斷

//使用者贏了 『x』

//電腦贏了 『o』

//平局 『e』

//next 『n』

char

juderesult

(char board[

][col]

,int row,

int col)

}for

(; i < col; i++)}

if(board[0]

[0]!=

' '&&board[0]

[0]== board[1]

[1]&& board[1]

[1]== board[2]

[2])

if(board[0]

[2]!=

' '&&board[0]

[2]== board[1]

[1]&& board[1]

[1]== board[2]

[0])

for(i =

0; i < row; i++)}

}return

'e';

}//電腦下

void

computermove

(char board[

][col]

,int row,

int col)

}}

void

game()

elseif(

2== type)

else

result=

juderesult

(board, row, col)

;//判斷

if(result !=

'n')

computermove

(board, row, col)

;//電腦走

juderesult

(board, row, col)

;//判斷

}showboard

(board, row, col)

;switch

(result)

printf

("game end!\n");

}

#include

"chess.h"

void

menu()

intmain()

}system

("pause");

return0;

}

在main函式中,定義的quit可以讓迴圈一直執行,當使用者輸入 2時跳出迴圈。

C語言小遊戲 三子棋

三子棋小遊戲 三子棋的實現是當玩家或者電腦自身所下的位置在同一條線時,判斷輸贏。在編寫該遊戲 時應注意到以下幾個方面的問題 1 首先應該列印棋盤以及初始化棋盤 2 在玩家和電腦落子之後均要列印一次棋盤 3 每次落子之前列印棋盤後,均要判斷是否已產生贏家 4 判斷輸贏之後,應當判斷此時棋盤是否已滿 5...

C語言小遊戲 三子棋

c語言三子棋小遊戲,通過二維陣列構建棋盤.利用七個個函式 void init 構建棋盤 void meau 遊戲選單 void display 構建棋盤 void player 玩家進行 void computer 電腦進行 char iswin 判斷輸贏 int isfull 判斷棋盤是否下滿 來...

C語言小遊戲 三子棋

將整個 分裝在三個檔案中,分別為原始檔 test.c game.c game.h 如下 game.h ifndef game h define game h define row 3 define col 3 定義棋盤行數和列數 include include include include voi...