资源简介
用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 < height; i++)
{
for (j = 0; j < width; 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 < height; i++)
{
if (i == 0)
{
cout<<“ “;
for (j = 0; j < width; 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 < width; j++)
{
if (iflandmine[i][j] == 1)
cout<<“¤“;
else
{
cout<<“ “;
}
}
cout< }
cout< }
void landmine::outhowmany()
{
int i j;
for (i = 0; i < height; i++)
{
for (j = 0; j < width; j++)
{
printf (“%-2.1d“ landminenum[i][j]);
}
cout< }
cout< }
void landmine::outcoordinate ()
{
int i j;
cout< for (i = 0; i < height; i++)
{
if (i == 0)
{
cout<<“ “;
for (j = 0; j < width; 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 < width; 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 < howmany)
{
k = rand()%gridnum + 1;//获得1-256随机数随机布雷
pan = 1;
for(j = 0; j < o; 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服务器
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- c语言字符串分割截取子串查找插入删
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- FTP客户端源码(c++)
- c++ 画图(14Qt-XPS)
- c++多边形交并差运算
评论
共有 条评论