首页 > 解决方案 > 如何在每个障碍物通过Windows窗体c#上的通过障碍游戏后增加标签分数的值

问题描述

我正在制作一个类似于过马路游戏的简单游戏,我的游戏游戏如下所示: 在此处输入图像描述

我使用计时器使障碍物向下移动,如果我的绿色字符(按钮)没有撞到障碍物(蓝色和红色标签),它将增加每个通过障碍物的分数。问题是我不知道如何增加通过的每个障碍的分数。

我试图编写代码来提高分数。这是我的代码:

int score = 0;
private void timerMovement_Tick(object sender, EventArgs e)
    {
        foreach (Control wall in panel1.Controls)
        {
            if (wall is Label)
            {
                if (wall.Text == "")
                {
                    wall.Top += 20;
                    if (wall .Top > button2.Top)
                    {
                        score += Convert.ToInt32(wall.Tag);
                        labelScore.Text = Convert.ToString(score);
                    }
                }
            }  
        }
    }

但是当我开始游戏时,在我通过第一个障碍后分数不断增加,我不希望这种情况发生。我希望分数只有在我通过一个障碍后才会增加。

任何人都可以帮我做支票声明吗?谢谢你

标签: c#visual-studiowinforms

解决方案


推荐阅读