我是 c 新手,正在尝试创建扫雷游戏。我认为我的代码在数据类型转换方面存在一些问题,但我不明白为什么。检查了这个链接
如何在 C 中将 unsigned int 转换或转换为 int?
并尝试在我的代码中实现信息。
我正在尝试实现一个函数,该函数返回具有地雷的 ax,y 协调二维数组的相邻位置的数量。
int neighbours(const Field *f, unsigned int x, unsigned int y)
{
int z = 0;
int i,j;
unsigned int a = y-1;
j =(int)a;
unsigned int b =x-1;
i = (int)b;
for(; j<=(a+2); j++){
if(j>=0 && j<=f->ysize){
for (; i<=(b+2); i++){
if ( i>=0 && i<=f->xsize && (f->places[j][i] == UNKNOWN_MINE ||f->places[j][i] == KNOWN_MINE)){
z++;
}
}
i = b;
}
}
return z;
}