C# XNA If语句和Random.Next

C# XNA If语句和Random.Next,c#,visual-studio-2010,xna,C#,Visual Studio 2010,Xna,我为我的XNA游戏创建了一个IF语句,让我的角色离开他们的教室屏幕。共有40个字符,每行10个Dest’表示角色的目的地。此代码在我的更新方法中,我的初始化方法中有一个字符列表: if (activeCharacter.DestX < 680) { activeCharacter.DestX = activeCharacter.DestX + 6; } else if (activeCharacter.DestY < 600) //600 {

我为我的XNA游戏创建了一个IF语句,让我的角色离开他们的教室屏幕。共有40个字符,每行10个Dest’表示角色的目的地。此代码在我的更新方法中,我的初始化方法中有一个字符列表:

if (activeCharacter.DestX < 680)
{
    activeCharacter.DestX = activeCharacter.DestX + 6;
}
else if (activeCharacter.DestY < 600)                //600
{
    activeCharacter.DestY = activeCharacter.DestY + 6;
}
else if (activeCharacter.DestY == 600)
{
    activeCharacter = classroom[(Random.Next(classroom.Count))];

    Console.WriteLine(activeCharacter.DestY);
目的是让随机字符离开教室。当第一行中的一个字符离开时,另一个随机字符将紧接着离开,另一个随机字符则取决于它是否来自第一行。但是,如果除第一行以外的任何其他行的字符离开,则只有一个字符将离开

有人能告诉我阻止这一切发生吗


谢谢

DestY增加6,直到大于或等于600。然而,最终的else如果只检查等于600

将最终检查更改为:

else if (activeCharacter.DestY >= 600)
或者简单地说:

else

将很可能解决您的问题。

为了提高代码的可读性/可维护性,我鼓励您也阅读。非常感谢!如果activeCharacter.DestY>=600,是否有方法在其他情况下绘制一个精灵并移除下一个精灵?