我实现了检查 ufo 的 X 位置是否大于游戏屏幕宽度的代码。如果是的话,飞碟已经死了。
我还实现了在 ufo 死亡时生成新数字的代码,在这种情况下,当生成正确的数字时,碟子应该飞过屏幕。
我不知道为什么它不这样做。碟子只随机飞过一次。
碟子的代码如下:
if (ufo.alive == true)
{
// also, we need to make it move
ufo.Xpos = ufo.Xpos + 1;
if (MissileFired != null)
{
// if you miss, and the ufo carries on, it will go forever.
//so
if (ufo.Xpos > 1000)
{
// kill the ufo if it goes off the screen.....
ufo.alive = false;
}
生成随机数的代码是:
if (ufo.alive == false)
{
Random random = new Random();
int randomNumber = random.Next(0, 100);
{
if (randomNumber == 1)
ufo.alive = true;
}
如您所见,我不知道为什么它在飞过并离开屏幕后不再生成不明飞行物。