我正在控制台中进行扫雷游戏,想知道如何使用函数修改数组值?
我有一个全局char table[10][10];
,但它不能是全局的,我需要在启动程序时将大小更改为用户想要的大小。此外,我需要修改此函数中的table
值:
int findnearbymines(int row, int col) {
int mines = 0;
if(table[row - 1][col] == '*')
mines++;
if(table[row + 1][col] == '*')
mines++;
if(table[row][col - 1] == '*')
mines++;
if(table[row][col + 1] == '*')
mines++;
if(table[row - 1][col + 1] == '*')
mines++;
if(table[row - 1][col - 1] == '*')
mines++;
if(table[row + 1][col + 1] == '*')
mines++;
if(table[row + 1][col - 1] == '*')
mines++;
return mines;
}
答案 0 :(得分:0)
如果它不是全球性的,那么在确定矩阵的大小后,您必须在main
函数中进行delcare。
在此处阅读:C - reading command line parameters以了解如何从命令行读取参数。在声明矩阵之前,您必须这样做。
至于你的功能,你必须将矩阵作为参数传递给你的函数:
int findnearbymines(int row, int col, char** table, int width, int height)
如果玩家在网格边缘选择了一个磁贴,您还需要在每个if
个参数中添加检查,以确保您不会超出矩阵的范围。< / p>
希望这有帮助!如果您需要进一步澄清或有更多问题,请在评论中提出。