我正在尝试让3个球在表格周围弹跳并使其正常工作,事情是我的代码的这部分(使球从表格的边缘反弹)看起来非常笨重,我觉得它可能是某种程度上凝聚了。有没有办法可以清理它
public void Move(int width, int height)
{
if ((position.X >= 0) && (position.X + size <= width)) //Within X Bounds
{
if (XBounce)
{
position.X -= speed;
}
else
{
position.X += speed;
}
}
else
{
if (!XBounce)
{
position.X -= size / 2;
}
else
{
position.X += size / 2;
}
XBounce = !XBounce;
}
if ((position.Y >= 0) && (position.Y + size <= height)) //Within Y Bounds
{
if (YBounce)
{
position.Y -= speed;
}
else
{
position.Y += speed;
}
}
else
{
if (!YBounce)
{
position.Y -= size / 2;
}
else
{
position.Y += size / 2;
}
YBounce = !YBounce;
}
}
答案 0 :(得分:1)
通过将Xbounce
和YBounce
更改为设置为int
或1
的{{1}}变量,您可以稍微简化一下:
-1