当前位置:编程学习 > C/C++ >>

扫雷游戏(纯C实现)(二)

<1>:返回周围地雷个数的函数
函数原型: int round_num_mines(int i,int j);

原函数见:html">http://www.zzzyk.com/kf/201104/87210.html

优化后的

算法函数接口:
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
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,