home *** CD-ROM | disk | FTP | other *** search
/ 100 Plus Great Games 2 / 100PLUSV2.BIN / games / SpaceCanyon.dxr / 00003.ls < prev    next >
Encoding:
Text File  |  2002-01-25  |  3.6 KB  |  121 lines

  1. on exitFrame me
  2.   global playerViewPoint, playerData, blasterData, totalDistance, gatewayData, playerlevel, dheight, enemyData, warningLevels, warningSwitch, warningDelay
  3.   harvestInput()
  4.   if playerData[2][2] <= 1000 then
  5.     if totalDistance < [200, 300, 400][playerlevel] then
  6.       repeat with wSection = 1 to 10
  7.         appendmap()
  8.       end repeat
  9.     else
  10.       repeat with wSection = 1 to 10
  11.         appendmap(#Finish)
  12.       end repeat
  13.       if gatewayData[1] = 0 then
  14.         gatewayData = [1, 0]
  15.         set the member of sprite 201 to "FinishLine"
  16.         sprite(201).locZ = 400
  17.       end if
  18.     end if
  19.   end if
  20.   playerViewPoint = point(0, playerData[2][2] - 275)
  21.   moveterrain()
  22.   if playerData[1] = 1 then
  23.     moveplayer()
  24.   else
  25.     rAim = random(360)
  26.     sRad = random(25)
  27.     locY = cos(rAim * PI / 180) * sRad
  28.     locX = sin(rAim * PI / 180) * -sRad
  29.     addparticle(playerData[2] + point(locX, locY), 0, random(3))
  30.     if random(4) = 1 then
  31.       playSound("enemy explosion", 2)
  32.     end if
  33.     if playerData[9] > 0 then
  34.       playerData[9] = playerData[9] - 1
  35.     end if
  36.   end if
  37.   moveEnemy()
  38.   moveParticles()
  39.   dheight = gatewayData[2] - playerViewPoint[2]
  40.   if (gatewayData[1] = 1) and (dheight > -100) and (dheight <= 600) then
  41.     set the locV of sprite 201 to dheight
  42.   end if
  43.   watchme = gatewayData[2] - playerViewPoint[2]
  44.   repeat with wRep = 1 to 2
  45.     if blasterData[1] = 1 then
  46.       blasterData[4] = blasterData[4] - 1
  47.       if blasterData[4] <= 0 then
  48.         blasterData[1] = 0
  49.       else
  50.         blasterData[2] = blasterData[2] + (blasterData[3] / 2)
  51.         aimTHIS = findAngle(point(0, 0), blasterData[3])
  52.         if wRep = 1 then
  53.           addparticle(blasterData[2], aimTHIS, 4)
  54.         end if
  55.       end if
  56.     end if
  57.     if blasterData[1] = 1 then
  58.       repeat with wEnemy = 1 to count(enemyData)
  59.         if enemyData[wEnemy][1] = 1 then
  60.           if [0, 0, 1, 1, 1, 1, 1][enemyData[wEnemy][2]] = 1 then
  61.             if findDistance(enemyData[wEnemy][3], blasterData[2]) <= 25 then
  62.               enemyData[wEnemy][6] = enemyData[wEnemy][6] + 150
  63.               blasterData[1] = 0
  64.               rMove = random(72)
  65.               repeat with wTurn = 1 to 3
  66.                 locY = cos((rMove + (wTurn * 120)) * PI / 180) * 20
  67.                 locX = sin((rMove + (wTurn * 120)) * PI / 180) * -20
  68.                 addparticle(blasterData[2] + point(locX, locY), 0, 1)
  69.               end repeat
  70.               addparticle(blasterData[2], 0, 1)
  71.             end if
  72.           end if
  73.         end if
  74.       end repeat
  75.     end if
  76.   end repeat
  77.   if playerData[1] = 1 then
  78.     if playerData[8] > 0 then
  79.       playerData[8] = playerData[8] - 1
  80.     else
  81.       playerData[1] = 0
  82.     end if
  83.   end if
  84.   set the height of sprite 510 to integer(playerData[5] / 1000.0 * 40)
  85.   set the width of sprite 508 to integer(playerData[8] / 3000.0 * 152)
  86.   repeat with wWarn = 1 to count(warningLevels)
  87.     if warningSwitch[wWarn] = 0 then
  88.       if (warningLevels[wWarn] * 30) > playerData[8] then
  89.         member("Fuel Warning").text = "Fuel Tank: " & string(warningLevels[wWarn]) & "%"
  90.         warningSwitch[wWarn] = 1
  91.         warningDelay = 60
  92.       end if
  93.     end if
  94.   end repeat
  95.   if warningDelay > 0 then
  96.     if (warningDelay mod 12) > 1 then
  97.       sprite(2).visible = 1
  98.     else
  99.       sprite(2).visible = 0
  100.     end if
  101.     warningDelay = warningDelay - 1
  102.   end if
  103.   runBulletStreaks()
  104.   if (playerData[2][2] < (gatewayData[2] - 50)) and (playerData[9] = 40) then
  105.     if playerlevel >= 3 then
  106.       sprite(2).visible = 0
  107.       go(20)
  108.     else
  109.       sprite(2).visible = 0
  110.       go(15)
  111.     end if
  112.   else
  113.     if playerData[9] <= 0 then
  114.       sprite(2).visible = 0
  115.       go(25)
  116.     else
  117.       go(the frame)
  118.     end if
  119.   end if
  120. end
  121.