我正在做一个学校项目,我选择了用C#做一个蛇游戏。 我几乎完成了游戏,但是我还想添加一件最后一件事,那就是当蛇碰到一个边缘时没有碰撞。因此,我不希望它在屏幕的另一端出现(因为它是在原始游戏中)。这是我的代码,当蛇碰到边缘时。C#没有碰撞边缘的贪吃蛇游戏
//Get maximum X and Y Pos
int maxXPos = pbCanvas.Size.Width/Settings.Width;
int maxYPos = pbCanvas.Size.Height/Settings.Height;
//Detect collission with game borders.
if (Snake[i].X < 0 || Snake[i].Y < 0
|| Snake[i].X >= maxXPos || Snake[i].Y >= maxYPos)
{
Die();
}
我知道Die();
不应该在那里,但我不能找出我应该写有代替。顺便说一下,我正在使用Visual Studio 2010编写代码。
谢谢,这真的帮了我。 :) – Chris
如果你的'Snake'每回合可以超过1个元素,这*可能会给出错误的位置。只要速度没有改变,它应该可以很好地工作。 – DIF
@DIF我从来没有见过这样做的蛇游戏。然而,帧率可能会增加,使得单个步骤的时间缩短。但是我看不出有什么理由让蛇一次“跳”几个步骤。 – HimBromBeere