我想提出一个井字棋游戏。 我需要检查,如果玩家点击他们已经点击了一个正方形。
问题是在显示第一个错误单击本身。 我更新的代码是:
MouseState mouse = Mouse.GetState();
int x, y;
int go = 0;
if (mouse.LeftButton == ButtonState.Pressed)
{
showerror = 0;
gamestate = 1;
x = mouse.X;
y = mouse.Y;
int getx = x / squaresize;
int gety = y / squaresize;
for (int i = 0; i < 3; i++)
{
if (go == 1)
{
break;
}
for (int j = 0; j < 3; j++)
{
if (getx == i && gety == j)
{
if (storex[i, j] == 0)
{
showerror = 1;
}
go = 1;
if (showerror != 1)
{
loc = i;
loc2 = j;
storex[i, j] = 0;
break;
}
}
}
}
}
showerror
只要单击左键设置为0。 我矩阵是用于存储信息的3x3矩阵。 如果是0,这意味着它已经被clicked.So在循环我检查,如果store[i,j] == 0
然后设置showerror
1。现在,在绘制函数我做了这个呼吁showerror
spriteBatch.Begin();
if (showerror == 1)
{
spriteBatch.Draw(invalid, new Rectangle(25, 280, 105, 19), Color.White);
}
spriteBatch.End();
问题是,每当我对空方点击它变成十字但误差会shown.Please帮助我