使用CheckBox bool值进行评分的功能

时间:2019-04-13 17:00:39

标签: c# function

我对编码还很陌生,当我使用已更改的布尔状态触发器为我的“发现差异游戏”制作评分系统时遇到了一些问题。
我已经声明了public int并将其用作起始值,那么我所期望的是,当播放器按下我设置为透明的图像框时,它选中了CheckBox,因此当CheckBox被选中时,它会减小int值,依此类推。
但是当int的值耗尽时,它不会生成显示玩家已完成游戏的消息框。

我已经在下面尝试制作自己的代码:

public partial class FTD_PG : Form
{
    public int Check = 5;

    private void check_1_Click(object sender, EventArgs e)
    {
        this.check_1_stat.Checked = true;
        Check--;
    }

    private void check_3_Click(object sender, EventArgs e)
    {
        this.check_3_stat.Checked = true;
        Check--;
    }

    private void check_2_Click(object sender, EventArgs e)
    {
        this.check_2_stat.Checked = true;
        Check--;
    }

    private void check_4_Click(object sender, EventArgs e)
    {
        this.check_4_stat.Checked = true;
        Check--;
    }

    private void check_5_Click(object sender, EventArgs e)
    {
        this.check_5_stat.Checked = true;
        Check--;
    }

    private void WinState()
    {
        if (Check == 0)
        {
            MessageBox.Show("Congrats you win the game!");
        }
        else
        {
            return;
        }
    }
}

我期望的只是修正评分系统,就是这样。

非常感谢您。

2 个答案:

答案 0 :(得分:0)

您永远不会调用WinState,这就是它永远不会显示消息框的原因。 添加WinState();每次递减Check后,它就会起作用。

替换检查-;与WinState();然后递减并检查该方法以使代码看起来更好:

    private void WinState()
    {
        Check--;
        if (Check == 0)
        {
            MessageBox.Show("Congrats you win the game!");
        }
    }

答案 1 :(得分:0)

我将使用Dictionary将每个PictureBox与其各自的CheckBox相关联。此外,我将所有PictureBoxes的Click()事件连接到Form的Load()事件中的同一处理程序。您可以使用建立的命名模式来搜索控件。单击每个控件后,将其从“词典”中删除。当词典为空时,游戏已获胜:

`<a class="btn btn-primary" href="{{ route('file-download',['id'=>1]) }}">Download</a>