有一个问题,我一直试图在2小时内完成最好的工作 - 而且我猜它的东西很简单......
开展tic tac toe游戏&得到了大部分工作,在按钮点击等框中添加“X”。 但是,当我检查是否连续有3个时,它似乎没有注册。
bool winner = false;
if ((button1.Text == button2.Text) && (button2.Text == button3.Text) && (button1.Equals("X")))
{
winner = true;
if (winner)
{
MessageBox.Show("Awesome");
}
这似乎根本不起作用。但是,如果我只进行1次更改(在button1.Equals(“X”)之前添加!))),如下所示
bool winner = false;
if ((button1.Text == button2.Text) && (button2.Text == button3.Text) && (!button1.Equals("X")))
{
winner = true;
if (winner)
{
MessageBox.Show("Awesome");
}
它完美地工作(就给我MessageBox.Show(“Awesome”);在我可以玩游戏之前发生,所有的button.text'都是空白的。
只是因为它有所不同,我已经指定了每个按钮在另一个方法中点击了一个值(Button_Click,对象发送器等等)
public void Button_Click(object sender, EventArgs e)
{
Button clickedBtn = (Button)sender;
if (Turn)
{
clickedBtn.Text = "X";
}
else
{
clickedBtn.Text = "O";
}
Turn = !Turn;
clickedBtn.Enabled = false;
}
也 - 创建的所有按钮都是动态的。如下图所示:
Button button1 = new Button();
button1.Left = 0;
button1.Top = 0;
button1.Width = 100;
button1.Height = 100;
button1.Click += new EventHandler(Button_Click);
button2& 3以相同的方式应用。 在测试时,我发现这个,当它也应用于按钮1,2和3:
Button button1 = new Button();
button1.Left = 0;
button1.Top = 0;
button1.Width = 100;
button1.Height = 100;
button1.Text = "X";
button1.Click += new EventHandler(Button_Click);
导致事件运行良好! (注意button1.Text =“X”;
任何想法可能是什么问题?
谢谢!
@InBetween我现在编辑了帖子并添加了你需要的更多代码。
答案 0 :(得分:0)
Button1.Equals("X")
总是假的。按钮永远不是字符串“X”。你想做Button1.Text.Equals("X")