我正在使用C#制作扫雷游戏,以下是我的代码部分,用于检查用户是否按下了格子上的某个按钮。然而,我相信实现这一功能的方法是将用户按下的按钮的x和y坐标拆分。
换句话说,代码中有两个二维数组。第一个数组button[10,10]包含了100个按钮。第二个数组grid[10,10]表示游戏区域,我规定-1代表地雷,1代表空格。我正在尝试提取玩家按下的按钮的x-y坐标,并用它来检查游戏区域。以下是我的代码:
然而,当我按下按钮时,在代码int x = System.Convert.ToInt32(split[0]);处出现了“System.FormatException”的错误信息。
请问我做错了什么?
换句话说,代码中有两个二维数组。第一个数组button[10,10]包含了100个按钮。第二个数组grid[10,10]表示游戏区域,我规定-1代表地雷,1代表空格。我正在尝试提取玩家按下的按钮的x-y坐标,并用它来检查游戏区域。以下是我的代码:
然而,当我按下按钮时,在代码int x = System.Convert.ToInt32(split[0]);处出现了“System.FormatException”的错误信息。
请问我做错了什么?
void bttnOnclick(object sender, System.EventArgs e)
{
Button bttnClick = sender as Button;
string[] split = bttnClick.Name.Split(new Char[] { ' ' });
int x = System.Convert.ToInt32(split[0]);
int y = System.Convert.ToInt32(split[1]);
if (grid[x, y] == -1)
{
//Game Over!
for (int xx = 0; xx < SizeX; xx++)
{
for (int yy = 0; yy < SizeY; yy++)
{
if (grid[xx, yy] == -1)
{
buttons[xx, yy].Visible = false;
}
}
}
}
}