
#include<iostream>
#include<ctime>
using namespace std;
int iValue(int iROW , int iCOL);
#define ROW 9 // 行数
#define COL 9 // 列数
#define BOMBNUMS 30 // 雷数
int main()
{
char arrInfo[ROW][COL];
memset(arrInfo, '0' , ROW * COL * sizeof(char) );
int iNum = 0; // 已经布下的雷
unsigned iBombNO = 0;
srand( time(0) );
int iTmpRow, iTmpCol; //行、列位置
while ( iNum < BOMBNUMS )
{
iBombNO = rand() % (ROW * COL);
iTmpRow = iBombNO / COL;
iTmpCol = iBombNO % COL;
if (arrInfo[iTmpRow][iTmpCol] == '*' ) //如果找到的位置有炸弹,重新找位置
{
continue;
}
arrInfo[iTmpRow][iTmpCol] = '*'; // 设置为雷
++iNum; //已经布下的雷数加1
}
// 简单显示输出
for(int j = 0; j < ROW; ++j)
{
for ( int k = 0; k < COL; ++k)
{
if (arrInfo [j][k] == '*')
{
cout <<" "<< '*';
}
else
{
//开始
int iTmp = 0;
if ((j-1 >= 0) && (k-1 >= 0))
{
if (arrInfo[j-1][k-1] == '*')
iTmp += 1;
}
if (j-1 >= 0)
{
if (arrInfo[j-1][k] == '*')
iTmp += 1;
}
if ((j-1 >= 0) && (k+1 < COL))
{
if (arrInfo[j-1][k+1] == '*')
iTmp += 1;
}
if (k-1 >= 0)
{
if (arrInfo[j][k-1] == '*')
iTmp += 1;
}
if (k+1 < COL)
{
if (arrInfo[j][k+1] == '*')
iTmp += 1;
}
if ((j+1 < ROW) && (k-1 >= 0))
{
if (arrInfo[j+1][k-1] == '*')
iTmp += 1;
}
if (j+1 < ROW)
{
if (arrInfo[j+1][k] == '*')
iTmp += 1;
}
if ((j+1 < ROW) && (k+1 < COL))
{
if (arrInfo[j+1][k+1] == '*')
iTmp += 1;
}
//结束
cout <<" "<< iTmp;
}
}
cout<<endl;
}
return 0;
}
#include<ctime>
using namespace std;
int iValue(int iROW , int iCOL);
#define ROW 9 // 行数
#define COL 9 // 列数
#define BOMBNUMS 30 // 雷数
int main()
{
char arrInfo[ROW][COL];
memset(arrInfo, '0' , ROW * COL * sizeof(char) );
int iNum = 0; // 已经布下的雷
unsigned iBombNO = 0;
srand( time(0) );
int iTmpRow, iTmpCol; //行、列位置
while ( iNum < BOMBNUMS )
{
iBombNO = rand() % (ROW * COL);
iTmpRow = iBombNO / COL;
iTmpCol = iBombNO % COL;
if (arrInfo[iTmpRow][iTmpCol] == '*' ) //如果找到的位置有炸弹,重新找位置
{
continue;
}
arrInfo[iTmpRow][iTmpCol] = '*'; // 设置为雷
++iNum; //已经布下的雷数加1
}
// 简单显示输出
for(int j = 0; j < ROW; ++j)
{
for ( int k = 0; k < COL; ++k)
{
if (arrInfo [j][k] == '*')
{
cout <<" "<< '*';
}
else
{
//开始
int iTmp = 0;
if ((j-1 >= 0) && (k-1 >= 0))
{
if (arrInfo[j-1][k-1] == '*')
iTmp += 1;
}
if (j-1 >= 0)
{
if (arrInfo[j-1][k] == '*')
iTmp += 1;
}
if ((j-1 >= 0) && (k+1 < COL))
{
if (arrInfo[j-1][k+1] == '*')
iTmp += 1;
}
if (k-1 >= 0)
{
if (arrInfo[j][k-1] == '*')
iTmp += 1;
}
if (k+1 < COL)
{
if (arrInfo[j][k+1] == '*')
iTmp += 1;
}
if ((j+1 < ROW) && (k-1 >= 0))
{
if (arrInfo[j+1][k-1] == '*')
iTmp += 1;
}
if (j+1 < ROW)
{
if (arrInfo[j+1][k] == '*')
iTmp += 1;
}
if ((j+1 < ROW) && (k+1 < COL))
{
if (arrInfo[j+1][k+1] == '*')
iTmp += 1;
}
//结束
cout <<" "<< iTmp;
}
}
cout<<endl;
}
return 0;
}