• 大小: 10.6MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-14
  • 语言: 其他
  • 标签: vs2013  扫雷  win32  

资源简介

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\link.command.1.tlog
     文件        6064  2014-06-26 22:57  扫雷 - 副本\扫雷\Debug\扫雷.tlog\link.read.1.tlog
     文件        1352  2014-06-26 22:57  扫雷 - 副本\扫雷\Debug\扫雷.tlog\link.write.1.tlog
     文件         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个文件信息

评论

共有 条评论