突破-对游戏的遗漏。有什么建议吗?

时间:2019-04-01 03:08:20

标签: c# 2d-games breakout

我正在尝试为C#中的突破制作副本。我的工作几乎完成了,但是我发现工作有误。

游戏的基础是:球需要两次击打砖块才能摧毁它。

有一个问题:有时候我的球撞到角落的砖头并立即将其摧毁(砖头未被触碰)。有解决问题的建议吗?

我将在球和砖块碰撞的地方附加一个视频和代码。

球,砖= pictureBox

我的问题已说明:https://youtu.be/73iaDUxo4AE

if (pt.Y < 0 || ball1.Bounds.IntersectsWith(Player.Bounds))
                bally = -bally;
foreach(Control x in this.Controls)
{
            if (x is PictureBox && x.Tag == "block")
            {
                if (ball1.Bounds.IntersectsWith(x.Bounds))
                {
                    x.Tag = "Hit";
                    Image myimage = new Bitmap("blue_block.png");
                    x.BackgroundImage = myimage;
                    x.BackgroundImageLayout = ImageLayout.Stretch;
                    bally = -bally;
                }
            }
            else
            {
                if (x is PictureBox && x.Tag == "Hit")
                    if (ball1.Bounds.IntersectsWith(x.Bounds))
                    {
                        score = score + 1;
                        bally = -bally;
                        this.Controls.Remove(x);
                        if(score<=5)
                            speed = speed + 1;
                    }
            }
}

非常感谢,我希望我足够具体。祝你有美好的一天!

0 个答案:

没有答案