ufo の X 位置がゲーム画面の幅より大きいかどうかをチェックするコードを実装しました。もしそうなら、UFOは死んでいます。
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;
}
ご覧のとおり、UFO が画面を横切って画面外に飛んだ後、再び ufo を生成しない理由がわかりません。