c語言實現掃雷

2021-10-19 10:56:27 字數 3954 閱讀 8100

void

menu()

//樸實無華的選單

//因為我們這裡要有乙個陣列來存放雷,乙個陣列給玩家看,所以在這裡我們用兩個陣列,給我們設定雷的我們暫且稱為my_board,給玩家看的稱為y_board,

**如下(示例):

char ret =0;

//在這裡建立兩個陣列自己看的叫my_board,將要放置雷的地方置為1,其他地方置為0,給別人看的叫y_board,一開始先將給別人看的陣列放*

char my_board[rows]

[cols]=;

char y_board[rows]

[cols]=;

//初始化陣列,把『0』『*』傳過來更加方便我們就可以用乙個函式來初始化兩個陣列。

initboard

(my_board, rows, cols,

'0')

;initboard

(y_board, rows, cols,

'*')

;//這裡的ret用來接收我們傳過來

void

initboard

(char board[rows]

[cols]

,int rows,

int cols,

char ret )

}}

為了方便我們看他們的座標,我們就把他們的座標也列印出來

void

showboard

(char board[rows]

[cols]

,int row,

int col)

printf

("\n");

for(

int i =

1; i <= row; i++

)printf

("\n");

}}

void

setlei

(char my_board[rows]

[cols]

,int row,

int col)

}}

//'1'-'0'=1,也可以減7個『0』後返回去char型別就可以直接用y_board[x][y]接收

intsum

(char my_board[rows]

[cols]

,int x,

int y)

void

playboard

(char my_board[rows]

[cols]

,char y_board[rows]

[cols]

,int row,

int col)

}else

if(my_board[x]

[y]==

'1')

}else

printf

("輸入的座標不對,請重新輸入\n");

}}

//標頭檔案game.h

#define

row9

#define

col9

#define

rows

row+2#

define

cols

col+2#

define

count10#

include

#include

#include

void

initboard

(char board[rows]

[cols]

,int rows,

int cols,

char ret)

;void

showboard

(char board[rows]

[cols]

,int row,

int col)

;void

setlei

(char my_board[rows]

[cols]

,int row,

int col)

;void

playboard

(char my_board[rows]

[cols]

,char y_board[rows]

[cols]

,int row,

int col)

;

#define

_crt_secure_no_warnings1#

include

"game.h"

void

menu()

void

game()

;char y_board[rows]

[cols]=;

//初始化陣列

initboard

(my_board, rows, cols,

'0')

;initboard

(y_board, rows, cols,

'*')

;//列印陣列

showboard

(y_board, row, col)

;//設定隨機雷

setlei

(my_board, row, col)

;/*showboard(my_board, row, col);*/

//在自己檢測的時候可以拿來看雷放在哪個地方

//下座標,做判斷

playboard

(my_board, y_board, row, col);}

void

test()

}while

(input);}

intmain()

#define

_crt_secure_no_warnings1#

include

"game.h"

void

initboard

(char board[rows]

[cols]

,int rows,

int cols,

char ret )}}

void

showboard

(char board[rows]

[cols]

,int row,

int col)

printf

("\n");

for(

int i =

1; i <= row; i++

)printf

("\n");

}}void

setlei

(char my_board[rows]

[cols]

,int row,

int col)}}

//'1'-'0'=1,也可以減7個『0』後返回去char型別就可以直接用y_board[x][y]接收

intsum

(char my_board[rows]

[cols]

,int x,

int y)

void

playboard

(char my_board[rows]

[cols]

,char y_board[rows]

[cols]

,int row,

int col)

}else

if(my_board[x]

[y]==

'1')

}else

printf

("輸入的座標不對,請重新輸入\n");

}}```

# 總結

當中我們在字元相加過程中要注意(字元-『0』)可以換成我們看到的int形式。歡迎大佬指點。

C語言實現掃雷

思路,建立兩個二維陣列,乙個作為雷區,乙個作為顯示區,雷區只在程式結束時顯示。每次使用者操作後重新整理顯示區的陣列成員。建立雷區二維陣列12 12,顯示區二維陣列10 10,用 0 代表安全區,1 代表雷區。雷區的陣列長度設定比顯示區的陣列長度多2,方便邊框區域計算周圍地雷數量。標頭檔案宣告 inc...

C語言實現掃雷

首先來講一講掃雷的規則 隨便點乙個格仔,會有一塊,上面的數字就代表數字周圍八個格仔會有幾個雷,是1他周圍就只有1個雷,2就有兩個雷 寫 的時候要注意構思 的框架,每個函式實現的意義在 中都有體現,首先看一下頭檔案game.h define row 9 define col 9 include inc...

C語言實現掃雷遊戲

game.h define crt secure no warnings 1 include include include include define sum 10 define row 11 define col 11 void print void init char mine row co...