标签未显示用于随机模拟的输出

问题描述 投票:0回答:2

我有一个课堂项目,创建一个井字模拟(游戏不是人玩的),当单击“新建游戏”按钮时,会自动生成O和X。我在使用代码获取标签以显示输出时遇到麻烦。

使用2D数组类型INT来模拟游戏板,它应该在9个元素中的每个元素中存储0或1,并产生O或X。如果X或O获胜,还需要显示标签。] >

到目前为止,这是我的代码(我知道不多,我完全迷路了:]]

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }

    private void StartButton_Click(object sender, EventArgs e)
    {
        Random rand = new Random();
        const int ROWS = 3;
        const int COLS = 3;

        int[,] gameBoard = new int[ROWS, COLS];

        for (int row = 0; row < ROWS; row++)
        {
            for (int col = 0; col < COLS; col++)
            { gameBoard[row, col]= rand.Next(2); }
        }


    }

    private void ExitButton_Click(object sender, EventArgs e)
    {
        this.Close();
    }
}
}

enter image description here

我有一个课堂项目,创建一个井字模拟(游戏不是人玩的),当单击“新建游戏”按钮时,会自动生成O和X。我遇到了...

c# visual-studio multidimensional-array label
2个回答
0
投票

Win Forms标签将被填充,除非当前事件过程完全完成。如果要用X和O更新标签,则可以使用控件属性InvokeRequired(布尔值),以及在将值分配给标签后调用label.Refresh()函数。我建议在点击开始按钮时派一个线程,并在该线程内执行for循环-> random.next()。尝试这些更改。祝一切顺利!


0
投票

尝试以下内容:

© www.soinside.com 2019 - 2024. All rights reserved.