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...