资源简介
visual studio 2013 win32工程实现扫雷游戏程序。
代码片段和文件信息
#include “stdafx.h“
#include “MineMap.h“
#include
CMineMap::CMineMap()
: nMime(0)
winf(FALSE)
rMine(0)
{
mx = 20; my = 13;
nMime = 50;
}
CMineMap::~CMineMap()
{
}
void CMineMap::Create()
{
Map = new int*[mx];
int i j;
for (i = 0; i < mx; i++)
{
Map[i] = new int[my];
}
for (i = 0; i < mx; i++)
for (j = 0; j < my; j++)
Map[i][j] = 100;
srand(time(NULL));
for (i = 0; i < nMime; i++)
{
int m = rand() % mx;
int n = rand() % my;
if (Map[m][n] != 99)
Map[m][n] = 99;
else
i--;
}
for (i = 0; i < mx; i++)
for (j = 0; j < my; j++)
{
if (Map[i][j] == 99)
{
int m n;
for (m = -1; m < 2; m++)
for (n = -1; n < 2; n++)
{
if ((i + m >= mx) || (j + n >= my) || (i + m<0) || (j + n<0) || (Map[i + m][j + n] == 99))
continue;
Map[i + m][j + n]++;
}
}
}
winf = 1;
rMine = nMime;
first = 1;
timer = 0;
}
void CMineMap::LClinck(int m int n CRect*rc)
{
if (m >= mx || n >= my || m < 0 || n < 0 || Map[m][n] <= 90)
return;
if (m * 20 + 20>rc->right)
rc->right = m * 20 + 20;
if (m * 20 < rc->left)
rc->left = m * 20;
if ((n + 2) * 20 + 20 > rc->bottom)
rc->bottom = (n + 2) * 20 + 20;
if ((n + 2) * 20 < rc->top)
rc->top = (n + 2) * 20;
if (Map[m][n] >= 101 && Map[m][n] <= 108)
{
Map[m][n] -= 100;
first = 0;
return;
}
if (Map[m][n] == 100)
{
Map[m][n] -= 100;
LClinck(m - 1 n rc);
LClinck(m + 1 n rc);
LClinck(m n - 1 rc);
LClinck(m n + 1 rc);
LClinck(m - 1 n - 1 rc);
LClinck(m + 1 n - 1 rc);
LClinck(m - 1 n + 1 rc);
LClinck(m + 1 n + 1 rc);
}
if (Map[m][n] == 99)
{
if (first)
{
rMine--;
int a b t = 0;
for (a = -1; a < 2; a++)
for (b = -1; b < 2; b++)
{
if ((a + m < mx) && (b + n < my) && (a + m >= 0) && (b + n >= 0) && (a || b))
{
if (Map[a + m][b + n] > 99)
Map[a + m][b + n]--;
if (Map[a + m][b + n] == 99)
t++;
}
}
first = 0;
Map[m][n] = 100 + t;
LClinck(m n rc);
return;
}
int i j;
for (i = 0; i < mx; i++)
for (j = 0; j < my; j++)
{
if (Map[i][j] == 99)
Map[i][j] = -1;
if (Map[i][j]>49 && Map[i][j] < 60)
Map[i][j] = -2;
}
rc->bottom = (my + 2) * 20;
rc->right = mx * 20;
rc->left = 0;
rc->top = 0;
winf = 0;
}
}
void CMineMap::Onrbtdown(int m int n)
{
if (m >= mx || m < 0 || n >= my || n < 0)
return;
if (Map[m][n]>90)
{
Map[m][n] -= 50;
rMine--;
return;
}
if (Map[m][n] > 40 && Map[m][n] < 60)
{
rMine++;
Map[m][n] += 50;
}
}
void CMineMap::Onlbtdbc(int m int n CRect*rc)
{
if (m >= mx || m < 0 || n >= my || n < 0)
return;
if (Map[m][n] == ctnflag(m n))
{
LClinck(m - 1 n rc);
LClinck(m + 1 n rc);
LClinck(m n - 1 rc);
LClinck(m n + 1 rc);
LClinck(m - 1 n - 1 rc);
LClinck(m + 1 n - 1 rc);
LClinck(m - 1 n +
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-06-26 22:57 扫雷 - 副本\
目录 0 2014-06-26 22:52 扫雷 - 副本\扫雷\
目录 0 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\
文件 13013 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\MineMap.obj
文件 149115 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\stdafx.obj
文件 551936 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\vc120.idb
文件 520192 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\vc120.pdb
文件 1128 2014-01-27 11:11 扫雷 - 副本\扫雷\Debug\扫雷.Build.CppClean.log
文件 2297 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.log
文件 38455 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.obj
文件 6160384 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.pch
文件 78776 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.res
目录 0 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\
文件 28846 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\CL.read.1.tlog
文件 3134 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\CL.write.1.tlog
文件 3962 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\cl.command.1.tlog
文件 2924 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\li
文件 6064 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\li
文件 1352 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\li
文件 850 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\rc.command.1.tlog
文件 5724 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\rc.read.1.tlog
文件 366 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\rc.write.1.tlog
文件 181 2014-06-26 22:57 扫雷 - 副本\扫雷\Debug\扫雷.tlog\扫雷.lastbuildstate
文件 3618 2014-01-25 22:55 扫雷 - 副本\扫雷\MineMap.cpp
文件 372 2014-01-25 22:20 扫雷 - 副本\扫雷\MineMap.h
文件 2244 2014-01-25 13:23 扫雷 - 副本\扫雷\ReadMe.txt
文件 1270 2013-07-22 01:18 扫雷 - 副本\扫雷\bitmap1.bmp
文件 3126 2014-01-26 15:53 扫雷 - 副本\扫雷\resource.h
文件 2998 2014-02-09 19:53 扫雷 - 副本\扫雷\small.ico
文件 210 2014-01-25 13:23 扫雷 - 副本\扫雷\stdafx.cpp
文件 464 2014-01-25 18:15 扫雷 - 副本\扫雷\stdafx.h
............此处省略16个文件信息
- 上一篇:微波技术与天线 课后答案
- 下一篇:基于RFID的智能档案管理系统的设计与实现
相关资源
- Apachehttpd-2.2.21-win32-x86-no_ssl.msi
- PyWin32.chm
- QT+VS点击按钮弹出新窗口的实现
- openssl-0.9.8k_WIN32(RSA密钥生成工具)
- httpd-2.2.22-win32-x86-no_ssl.msi
- halcon引擎例程_vs2013_halcon19_11.rar
- Radasm中文版安装包
- 扫雷可运行程序
- 即时双人联机对战扫雷小游戏
- xxtea加解密工具win32
- chromedriver_win32_86.0.4240.22.zip
- NuGet4vs2013
- PGP freeware 6.5.8 Win32 加密解密工具,学
- Win32Api帮助文档
- GLFW-3.2.bin.WIN32
- 支持vs2010/2012/2013 的svn插件 AnkhSvn_2.
- sokit TCP/UDP 数据包收发测试(调试)工
- pywin32-220.win-amd64-py2.7.exe
- 推箱子小游戏win32 sdk
- numpy-1.15.0-cp37-none-win32
- 基于Win10和VS2013-VS2019的比特币源码(
- 智能电子钢琴 vs2013 C
- vs2013配置+gsl-1.8-src+gsl-1.8两个exe文件以
- pywin32-220.win32-py3.4
- ostinato-bin-win32-0.8官方最新版原版
- libyuv vs2013工程
- vs2013编译好的OpenSSL_1_0_2静态库和动态
- cmake-3.3.2-win32-x86
- httpd-2.2.22-win32-x86-openssl-0.9.8t.msi
- WIN32界面开发之一:初试加载背景界面
评论
共有 条评论