資源簡介
用VC++6.0打開工程文件dsw即可查看和編譯代碼。。。。。。

代碼片段和文件信息
#include?
#include?
#include??
#include?
#include?
using?namespace?std;
/*
雷數:?①?②?③?④?⑤?⑥?⑦?⑧???;
光標:?__;
未探索的格子:?■;
紅旗(認為這里有雷):?☆
雷:?¤
標了正確的雷:?☆
標了錯誤的雷:?×
*/
class?landmine
{
public:
void?outcoordinate?();//輸出當前坐標情況
void?outifthere();//將布雷圖打出
void?outhowmany();//將附近雷個數圖打出
int?explore(int?x1?int?y1);//探索格子函數
int?operation(char?operate);//操作
int?ifwin();//判斷是否贏
void?Howmany(int?many?int?w?int?h)//定義掃雷寬、高、雷數
{
howmany?=?many;
height?=?h;
width?=?w;
gridnum?=?w?*?h;
}
void?landmine1();//開始新游戲重新定義坐標
private:
char?coordinate[50][50][4];//打印的圖像(初始化完成)
int?ifjudge[50][50];//是否探索過(初始化完成)
int?iflandmine[50][50];//地雷是否存在(初始化完成)
int?landminenum[50][50];//附近地雷數目(初始化完成)
char?pointerpaint[4];//光標處原本的圖案
int?x?y;//光標坐標(x?y)x縱y橫
int?findnum;//被探索格子的數目初始化為0?點出來的格子?<=?grid?-?howmany
int?judgeclear;//剩余雷的數目初始化為howmany?howmany?-?☆
int?howmany;//雷總數
int?height?width;//高、寬
int?gridnum;//格子總數
};
int?landmine::ifwin()
{
int?i?j;
if?(findnum?>=?gridnum?-?howmany)
{
for?(i?=?0;?i? {
for?(j?=?0;?j? {
if?(iflandmine[i][j]?==?1)
strcpy(coordinate[i][j]?“☆“);
}
}
judgeclear?=?0;
return?1;
}
else
return?0;
}
void?landmine::outifthere()////////////////////
{
int?i?j;
for?(i?=?0;?i? {
if?(i?==?0)
{
cout<<“??“;
for?(j?=?0;?j? {
if?(j?26)
printf?(“%-2.c“?‘A‘?+?j);
else
printf?(“%-2.c“?‘A‘?+?j?+?6);
}
cout< }
printf?(“%2.d“?i?+?1);
for?(j?=?0;?j? {
if?(iflandmine[i][j]?==?1)
cout<<“¤“;
else
{
cout<<“??“;
}
}
cout< }
cout< }
void?landmine::outhowmany()
{
int?i?j;
for?(i?=?0;?i? {
for?(j?=?0;?j? {
printf?(“%-2.1d“?landminenum[i][j]);
}
cout< }
cout< }
void?landmine::outcoordinate?()
{
int?i?j;
cout< for?(i?=?0;?i? {
if?(i?==?0)
{
cout<<“??“;
for?(j?=?0;?j? {
if?(j?26)
printf?(“%-2.c“?‘A‘?+?j);
else
printf?(“%-2.c“?‘A‘?+?j?+?6);
}
cout< }
printf?(“%2.d“?i?+?1);
for?(j?=?0;?j? {
cout< }
cout< }
cout< }
void?landmine::landmine1()
{
int?i?j;
x?=?height?/?2;
y?=?width?/?2;//初始化光標坐標
judgeclear?=?howmany;
strcpy(pointerpaint?“■“);
findnum?=?0;//初始化探索格子數為0
int?k?t[899]?o?=?0?pan;//t存隨機數使隨機數不重復
srand((unsigned)time(NULL));//獲得隨機種子
while?(o? {
k?=?rand()%gridnum?+?1;//獲得1-256隨機數隨機布雷
pan?=?1;
for(j?=?0;?j? {
if?(k?==?t[j])
{
pan?=?0;
break;
}
}
if?(pan?==?1)
{
t[o]?=?k;
o++
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-04-18?19:06??掃雷\
?????目錄???????????0??2016-11-08?17:38??掃雷\Debug\
?????文件???????74752??2017-04-18?19:06??掃雷\Debug\vc60.idb
?????文件??????110592??2016-11-04?22:53??掃雷\Debug\vc60.pdb
?????文件??????577626??2016-11-04?22:53??掃雷\Debug\掃雷.exe
?????文件??????809872??2016-11-04?22:53??掃雷\Debug\掃雷.ilk
?????文件??????185234??2016-11-04?22:53??掃雷\Debug\掃雷.obj
?????文件?????2022092??2016-11-03?13:11??掃雷\Debug\掃雷.pch
?????文件?????1156096??2016-11-04?22:53??掃雷\Debug\掃雷.pdb
?????文件???????21408??2016-11-04?22:53??掃雷\掃雷.cpp
?????文件????????3379??2017-04-18?19:06??掃雷\掃雷.dsp
?????文件?????????516??2017-04-18?19:06??掃雷\掃雷.dsw
?????文件???????41984??2017-04-18?19:06??掃雷\掃雷.ncb
?????文件???????48640??2017-04-18?19:06??掃雷\掃雷.opt
?????文件?????????242??2017-04-18?19:06??掃雷\掃雷.plg
- 上一篇:C++ QQ農場源代碼程序
- 下一篇:Linux大作業 web服務器
評論
共有 條評論