掃雷遊戲大家應該都有玩過,今天的我們用c語言實現一下掃雷遊戲。點開時第一步不炸死,而且沒有雷的周圍會展開。
實現思路
1.棋盤設計:
必須要設計倆個棋盤,乙個設計者棋盤,乙個玩家棋盤。
2.棋盤列印:
列印棋盤
3.雷的布置
我的**中採用9*9的棋盤,布置了10個雷。用二維陣列來存棋盤的資訊,將二維陣列初始化為0,把布置雷的地方改為1.
4.開局不炸死:
實現第一次不炸死,如果第一次輸入的位置為1,就必須將這個位置的1改為0.而尋找另乙個為0的位置,將其座標改為1,來維持雷的總數不變。
5.實現展開:
在玩家輸入乙個周圍有雷的座標時,顯示周圍雷的個數
6.輸贏判斷:
由於雷的總數不變,則判斷雷的個數是否為10個,為10 時,玩家掃雷成功,遊戲結束。
跟前面寫過的三子棋遊戲一樣,還是建立乙個game.h的標頭檔案,用於定義遊戲程式內的函式。
建立乙個乙個game.c和乙個test.c的原始檔,實現遊戲。
首先給出game.h檔案,後面的遊戲實現都會呼叫到頭檔案中的函式:
然後給出test.c檔案:
#define _crt_secure_no_warnings 1
#include "game.h"
#includevoid menu()
void game()
; char show[rows][cols] = ;
initboard(mine, rows, cols, '0');//初始化設計者棋盤
initboard(show, rows, cols, '*');//初始化玩家棋盤
setmine(mine, row, col);//布雷
// displayboard(mine, row, col);//列印設計者棋盤(不能給玩家看,所以不列印)
displayboard(show, row, col);//列印玩家棋盤
safemine(mine, show, row, col);//第一次不炸死
findmine(mine, show, row, col);//排雷 }
int main()
system("pause");
return 0;
}
game.c檔案:
#define _crt_secure_no_warnings 1
#include #include"game.h"
void initboard(char board[rows][cols], int rows, int cols, char set)
void displayboard(char board[rows][cols], int row, int col)
printf("\n");
for (i = 1; i <= row; i++)//列印九乘九的棋盤
printf("\n");
} printf("\n");
}void setmine(char board[rows][cols], int row, int col)
} }int getminecount(char mine[rows][cols], int x, int y)
void openmine(char mine[rows][cols], char show[rows][cols], int row, int col, int x, int y)
else }
void safemine(char mine[rows][cols], char show[rows][cols], int row, int col)
ret--;
} }openmine(mine, show, row, col, x, y);
displayboard(show, row, col);
}int iswin(char show[rows][cols], int row, int col)
}} return count; }
void findmine(char mine[rows][cols], char show[rows][cols], int row, int col)
else//如果不是雷,獲取周圍雷的個數並展開
}} else//如果座標無意義,提示座標非法
}if (iswin(show, row, col) == easy_count)
}
DE1 soc第一步實現流水燈
最近在研究de1 soc開發版,通過學習了相關資料,自己先從簡單的東西開始,就寫了乙個簡單的流水燈來熟悉開發板,之後會做一些其他相關的東西,先將這些基本的測試記錄下來,以備以後使用和相互交流,學習。以下是相關 module my first project input clk,input rst n...
程式設計第一步 C語言(3)什麼是資料型別
1 什麼是資料 資料2 為什麼要有資料 通常在資訊互動的過程中,我們需要對某一事物進行具體的描述,而不是概而論之,所以資料的需求就應運而生。3 計數機內部的資料儲存方式 跟電路方式很類似,一開一閉,剛好就形成了二進位制 0和1,通路和短路 4 計算機資料型別有哪些 在電腦程式中,離不開資料。把數字 ...
C語言實現乙個簡易的掃雷2
ifndef game h define game h define crt secure no warnings 1 include include include include define rows 11 define cols 11 define count 10 void init bo...