Program MyObjectAvoidingGame Structure BaddyStructure Name As String x As Int y As Int Speed As Int End Structure Define HasCrashed As Bool Define XCoordinateofMainSprite As Int Define YCoordinateofMainSprite As Int Define Baddy As BaddyStructure[9] Define CrashCount As Int Method Main() LoadMainSprite() DrawBackground() LoadBaddies() HasCrashed = False XCoordinateofMainSprite = 20 YCoordinateofMainSprite = 200 While HasCrashed = False CheckForAnArrowKey() Delay(10) DetectACrash() AnimateBaddies() End While End Method Method AnimateBaddies() Define Count As Int For Count = 1 To 9 Baddy[Count].x = (Baddy[Count].x + Baddy[Count].Speed) MoveSpriteTo(Baddy[Count].Name, 640 - ( Baddy[Count].x), Baddy[Count].y) If Baddy[Count].x > 750 Then Baddy[Count].x = 0 - Random(0,200) Baddy[Count].y = Random(0,480) MoveTo(0,480) Print(CrashCount) End If Next End Method Method LoadBaddies() Define Count As Int For Count = 1 To 9 Baddy[Count].Name = "Baddy" + Count LoadSprite(Baddy[Count].Name, "Plane.gif") ScaleSprite(Baddy[Count].Name, 0.7) ShowSprite(Baddy[Count].Name) Baddy[Count].Speed = (Random(1,3)) FlipSpriteHorizontally(Baddy[Count].Name) Next End Method Method DrawBackground() LoadSprite("Background", "Space.png") SetSpriteCanCollide("Background", False) StampSprite("Background") End Method Method LoadMainSprite() LoadSprite("MainSprite", "UFO.gif") MoveSpriteToPoint("MainSprite", 20, 200) ShowSprite("MainSprite") Define Timeline As Int[6] Timeline[1] = 100 Timeline[2] = 100 Timeline[3] = 100 Timeline[4] = 100 Timeline[5] = 100 Timeline[6] = 100 SetSpriteAnimationTimeline( "MainSprite", True, Timeline) End Method Method CheckForAnArrowKey() If IsKeyDown("Down") Then YCoordinateofMainSprite = YCoordinateofMainSprite + 3 End If If IsKeyDown("Up") Then YCoordinateofMainSprite = YCoordinateofMainSprite - 3 End If If IsKeyDown("Left") Then XCoordinateofMainSprite = XCoordinateofMainSprite - 3 End If If IsKeyDown("Right") Then XCoordinateofMainSprite = XCoordinateofMainSprite + 3 End If MoveSpriteToPoint("MainSprite", XCoordinateofMainSprite, YCoordinateofMainSprite) End Method Method DetectACrash() DetectWallCrash() DetectBaddyCrash() End Method Method DetectWallCrash() If (YCoordinateofMainSprite < 0) Or (XCoordinateofMainSprite < 0) Or (XCoordinateofMainSprite > 600) Or (YCoordinateofMainSprite > 440) Then HasCrashed = True End If End Method Method DetectBaddyCrash() Define CrashedWith As String[] CrashedWith = GetSpritesThatIntersectWith("MainSprite") If ArrayLength(CrashedWith) > 0 Then HasCrashed = True End If End Method End Program