Вы никогда не вызываете метод Win()
.Вы объявляете это, но не используете его.
bool buttonisclicked1 = false;
bool buttonisclicked2 = false;
bool buttonisclicked3 = false;
public void button1_Click(object sender, EventArgs e)
{
Button clickedButton1 = (Button)sender;
clickedButton1.Text = "X";
buttonisclicked1 = true;
Win()
}
public void button2_Click(object sender, EventArgs e)
{
Button clickedButton2 = (Button)sender;
clickedButton2.Text = "X";
buttonisclicked2 = true;
Win()
}
public void button3_Click(object sender, EventArgs e)
{
Button clickedButton3 = (Button)sender;
clickedButton3.Text = "X";
buttonisclicked3 = True;
Win()
}
public void Win()
{
if (buttonisclicked1 && buttonisclicked2 && buttonisclicked3 == true)
{
Console.WriteLine("You won");
MessageBox.Show("You won!");
}
}
}
Причина, по которой я поставил Win()
в каждом Click Event()
, заключается в том, что он будет проверять условия каждый раз, несмотря на порядок нажатия кнопок..
Вам не нужно иметь оператор If
, чтобы проверить, изменилось ли свойство .Text
кнопки, так как для него установлено значение , всегда изменяется на 'X'
.Если у вас есть другие условия и код в Click Event
s, которые могут либо изменить свойство .Text
на что-то другое, то имеет смысл иметь оператор If
.В противном случае - в этом нет необходимости.
И из того, что я могу сказать, вы, кажется, используете ==
и =
очень хорошо в своих If
утверждениях:)