优化后的
算法函数接口:
1
.返回周围地雷个数的函数
/*
************************************************************
返回周围地雷个数的函数
函数原型: int round_num_mines(int i,int j);
参 数: int i, int j为当前的坐标
返回值类型: int 返回该坐标处周围的地雷数
返回值情况:(1)返回1-8代表周围有1-8个地雷;
(2)返回0代表周围没有地雷;
(3)返回*代表此坐标时地雷;
*********************************************************
*/
//////////////////////////////////////////////////////
//
//
就是搞不懂为什么下面两个函数不
会出现数组越界情况
//
//////////////////////////////////////////////////////
char
round_num_mines(
int
i,
int
j)
{
if
(map[i][j]
==
*
)
{
return
*
;
}
int
k
=
0
;
if
(map[i
+
1
][j]
==
*
) k
++
;
if
(map[i
+
1
][j
-
1
]
==
*
) k
++
;
if
(map[i
+
1
][j
+
1
]
==
*
) k
++
;
if
(map[i][j
+
1
]
==
*
) k
++
;
if
(map[i
-
1
][j]
==
*
) k
++
;
if
(map[i
-
1
][j
+
1
]
==
*
) k
++
;
if
(map[i][j
-
1
]
==
*
) k
++
;
if
(map[i
-
1
][j
-
1
]
==
*
) k
++
;
return
k;
}
*/
//
改进后的(书上的)代码:
(改进算法)
(
1
).首先定义一个二维数组:
int