home *** CD-ROM | disk | FTP | other *** search
- property pTempX, pTempY, pFrameCount, pEmptyAlpha, pViewPortal, pViewRect, pMouseOffset, pSpace, pSpaceStart, pForPower, pTimeLimit, pATimer, pCheck, pLastTimer, pLevelList, pMoveSound
- global gCurrentLevel, gLevelScore, gTotalScore, gWon, gMapChannel, gNumLives, pEneObject, pEneObject2, pEneObject3, pAntObject
-
- on new me
- pMoveSound = 0
- pLevelList = [0]
- pLastTimer = the ticks
- pCheck = 1
- pATimer = the ticks
- pForPower = 48
- sprite(20).blend = 100
- pSpace = 0
- pEnter = 0
- gCurrentLevel = gCurrentLevel + 1
- loadLevelData(gCurrentLevel)
- member("TotalScoreDisplay").text = "Score:" && string(gTotalScore)
- sprite(249).blend = 100
- doFadeOut()
- doFinishIntro()
- end
-
- on exitFrame me
- if gCurrentLevel >= 5 then
- pEneObject.moveEnemy()
- end if
- if gCurrentLevel >= 4 then
- pEneObject2.moveEnemy()
- end if
- if gCurrentLevel >= 3 then
- pEneObject3.moveEnemy()
- end if
- if pAntObject.pDoDeath = 0 then
- checkInput()
- else
- pAntObject.doDeathAnimation()
- end if
- if sprite(23).intersects(35) or sprite(23).intersects(36) or sprite(23).intersects(37) then
- pAntObject.pDoDeath = 1
- member("ScoreDisplay").text = "Your Score:" && string(gTotalScore)
- end if
- if (pATimer + 60) < the ticks then
- pATimer = the ticks
- pTimeLimit = pTimeLimit + 1
- displayTime(pTimeLimit)
- end if
- if sprite(23).intersects(18) then
- puppetSound(1, 0)
- sprite(35).puppet = 0
- sprite(36).puppet = 0
- sprite(37).puppet = 0
- if gCurrentLevel >= 5 then
- go(19)
- gTotalScore = gTotalScore + 50 + (1500 / pTimeLimit)
- member("ScoreDisplay").text = "Your Score:" && string(integer(gTotalScore))
- member("WinOrLose").text = "You Win!!"
- puppetSound(5, "win10")
- else
- go(39)
- gTotalScore = gTotalScore + 50 + (1500 / pTimeLimit)
- member("ScoreDisplay").text = "Your Score:" && string(integer(gTotalScore))
- member("timeLeftDisplay").text = "Time:" && member("timeDisplay").text
- puppetSound(5, "levelcomplete10")
- end if
- else
- sprite(101).puppet = 0
- end if
- go(the frame)
- end
-
- on checkInput
- antDirection = pAntObject.getAntDirection()
- if keyPressed(126) and keyPressed(123) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 5 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(5)
- end if
- else
- if keyPressed(126) and keyPressed(124) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 6 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(6)
- end if
- else
- if keyPressed(125) and keyPressed(123) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 7 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(7)
- end if
- else
- if keyPressed(125) and keyPressed(124) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 8 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(8)
- end if
- else
- if keyPressed(123) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 4 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(4)
- end if
- else
- if keyPressed(124) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 2 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(2)
- end if
- else
- if keyPressed(126) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 1 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(1)
- end if
- else
- if keyPressed(125) then
- if pMoveSound = 0 then
- pMoveSound = 1
- puppetSound(1, "move loop")
- end if
- if antDirection = 3 then
- pAntObject.moveAnt()
- else
- pAntObject.setAntDirection(3)
- end if
- else
- if pMoveSound = 1 then
- pMoveSound = 0
- puppetSound(1, 0)
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end if
- end
-
- on loadLevelData levelNum
- sprite(35).puppet = 0
- sprite(36).puppet = 0
- sprite(37).puppet = 0
- doRandLevel(levelNum)
- member("LevelDisplay").text = "Level" && string(levelNum)
- pTimeLimit = 0
- case levelNum of
- 1:
- set the stageColor to 204
- sprite(29).foreColor = 204
- member("TimeDisplay").color = rgb(2, 243, 252)
- member("LevelDisplay").color = rgb(2, 243, 252)
- member("TotalScoreDisplay").color = rgb(2, 243, 252)
- 2:
- set the stageColor to 204
- sprite(29).foreColor = 204
- member("TimeDisplay").color = rgb(2, 243, 252)
- member("LevelDisplay").color = rgb(2, 243, 252)
- member("TotalScoreDisplay").color = rgb(2, 243, 252)
- 3:
- set the stageColor to 204
- sprite(29).foreColor = 204
- member("TimeDisplay").color = rgb(2, 243, 252)
- member("LevelDisplay").color = rgb(2, 243, 252)
- member("TotalScoreDisplay").color = rgb(2, 243, 252)
- 4:
- set the stageColor to 204
- sprite(29).foreColor = 204
- member("TimeDisplay").color = rgb(2, 243, 252)
- member("LevelDisplay").color = rgb(2, 243, 252)
- member("TotalScoreDisplay").color = rgb(2, 243, 252)
- 5:
- set the stageColor to 204
- sprite(29).foreColor = 204
- member("TimeDisplay").color = rgb(2, 243, 252)
- member("LevelDisplay").color = rgb(2, 243, 252)
- member("TotalScoreDisplay").color = rgb(2, 243, 252)
- end case
- displayTime(pTimeLimit)
- sprite(23).width = 8
- sprite(23).height = 8
- sprite(35).width = 8
- sprite(35).height = 8
- sprite(36).width = 8
- sprite(36).height = 8
- sprite(37).width = 8
- sprite(37).height = 8
- end
-
- on doRandLevel levelNum
- found = 0
- repeat while found = 0
- nextLevel = random(11)
- if getOne(pLevelList, nextLevel) = 0 then
- append(pLevelList, nextLevel)
- found = 1
- next repeat
- end if
- found = 0
- end repeat
- sprite(35).loc = point(800, 800)
- sprite(36).loc = point(800, 800)
- sprite(37).loc = point(800, 800)
- case nextLevel of
- 1:
- sprite(7).member = "Alpha1"
- pAntObject = new(script("AntScript"), 1, 6, 5, 238, 20, 23)
- sprite(18).loc = point(142, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 2:
- sprite(7).member = "Alpha2"
- pAntObject = new(script("AntScript"), 1, 6, 5, 310, 10, 23)
- sprite(18).loc = point(383, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 300, 250, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 240, 305, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 390, "ninja3", 37)
- end if
- 3:
- sprite(7).member = "Alpha3"
- pAntObject = new(script("AntScript"), 1, 6, 5, 215, 10, 23)
- sprite(18).loc = point(345, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 105, 400, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 400, "ninja3", 37)
- end if
- 4:
- sprite(7).member = "Alpha4"
- pAntObject = new(script("AntScript"), 1, 6, 5, 94, 20, 23)
- sprite(18).loc = point(479, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 400, "ninja3", 37)
- end if
- 5:
- sprite(7).member = "Alpha5"
- pAntObject = new(script("AntScript"), 1, 6, 5, 477, 20, 23)
- sprite(18).loc = point(94, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 6:
- sprite(7).member = "Alpha6"
- pAntObject = new(script("AntScript"), 1, 6, 5, 94, 20, 23)
- sprite(18).loc = point(477, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 7:
- sprite(7).member = "Alpha7"
- pAntObject = new(script("AntScript"), 1, 6, 5, 238, 20, 23)
- sprite(18).loc = point(477, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 8:
- sprite(7).member = "Alpha8"
- pAntObject = new(script("AntScript"), 1, 6, 5, 285, 20, 23)
- sprite(18).loc = point(323, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 9:
- sprite(7).member = "Alpha9"
- pAntObject = new(script("AntScript"), 1, 6, 5, 359, 20, 23)
- sprite(18).loc = point(297, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 10:
- sprite(7).member = "Alpha10"
- pAntObject = new(script("AntScript"), 1, 6, 5, 405, 20, 23)
- sprite(18).loc = point(383, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- 11:
- sprite(7).member = "Alpha11"
- pAntObject = new(script("AntScript"), 1, 6, 5, 262, 20, 23)
- sprite(18).loc = point(335, 406)
- if levelNum >= 5 then
- pEneObject = new(script("EnemyScript"), 1, 3, 5, 200, 200, "ninja1", 35)
- end if
- if levelNum >= 4 then
- pEneObject2 = new(script("EnemyScript"), 1, 3, 5, 405, 105, "ninja2", 36)
- end if
- if levelNum >= 3 then
- pEneObject3 = new(script("EnemyScript"), 1, 3, 5, 405, 395, "ninja3", 37)
- end if
- end case
- end
-
- on doFadeOut
- theTime = the ticks
- repeat while sprite(249).blend > 15
- if (theTime + 2) < the ticks then
- theTime = the ticks
- sprite(249).blend = sprite(249).blend - 15
- updateStage()
- end if
- end repeat
- sprite(249).blend = 0
- end
-
- on doFinishIntro
- sprite(35).loc = point(800, 800)
- sprite(36).loc = point(800, 800)
- sprite(37).loc = point(800, 800)
- finishX2 = sprite(23).locH
- finishY2 = sprite(23).locV
- sprite(23).width = 40
- sprite(23).height = 40
- sprite(23).locH = 310
- sprite(23).locV = 220
- posX2 = 310
- posY2 = 220
- theAngle2 = getAngle(310, 220, finishX2, finishY2)
- finishX = sprite(18).locH
- finishY = sprite(18).locV
- sprite(18).locH = 270
- sprite(18).locV = 220
- posX = 270.0
- posY = 220.0
- sprite(18).width = 40
- sprite(18).height = 40
- theAngle = getAngle(270, 220, finishX, finishY)
- theSpeed = 10
- theTime = the ticks
- updateStage()
- repeat while (theTime + 60) > the ticks
- updateStage()
- end repeat
- theTime = the ticks
- bool = 0
- finishBool = 0
- startBool = 0
- repeat while not ((finishBool = 1) and (startBool = 1))
- if (posX > (finishX - 2)) and (posX < (finishX + 2)) and (posY > (finishY - 2)) and (posY < (finishY + 2)) then
- finishBool = 1
- end if
- if (posX2 > (finishX2 - 2)) and (posX2 < (finishX2 + 2)) and (posY2 > (finishY2 - 2)) and (posY2 < (finishY2 + 2)) then
- startBool = 1
- end if
- if (theTime + 1) < the ticks then
- theTime = the ticks
- if (posY > 380) or (posY2 < 60) then
- theSpeed = 5
- end if
- if (posY > 390) or (posY2 < 50) then
- theSpeed = 3
- end if
- if (posY > 400) or (posY2 < 40) then
- theSpeed = 1
- end if
- if startBool = 0 then
- sprite(23).width = sprite(23).width - 3
- sprite(23).height = sprite(23).height - 3
- if sprite(23).width < 8 then
- sprite(23).width = 8
- sprite(23).height = 8
- end if
- end if
- if finishBool = 0 then
- sprite(18).width = sprite(18).width - 3
- sprite(18).height = sprite(18).height - 3
- if sprite(18).width < 10 then
- sprite(18).width = 10
- sprite(18).height = 10
- end if
- end if
- if finishBool = 0 then
- posX = posX - (float(sin(theAngle * 3.14000000000000012 / 180)) * theSpeed)
- posY = posY - (float(cos(theAngle * 3.14000000000000012 / 180)) * theSpeed)
- sprite(18).locH = posX
- sprite(18).locV = posY
- end if
- if startBool = 0 then
- posX2 = posX2 - (float(sin(theAngle2 * 3.14000000000000012 / 180)) * theSpeed)
- posY2 = posY2 - (float(cos(theAngle2 * 3.14000000000000012 / 180)) * theSpeed)
- sprite(23).locH = posX2
- sprite(23).locV = posY2
- end if
- updateStage()
- end if
- end repeat
- sprite(18).loc = point(finishX, finishY)
- sprite(18).width = 10
- sprite(18).height = 10
- sprite(23).loc = point(finishX2, finishY2)
- sprite(23).width = 8
- sprite(23).height = 8
- end
-
- on getAngle x1, y1, x2, y2
- loc1 = [x1, y1]
- loc2 = [x2, y2]
- deltaX = loc2[1] - loc1[1]
- deltaY = -1 * (loc2[2] - loc1[2])
- if deltaY = 0 then
- if deltaX > 0 then
- return 0
- end if
- if deltaX < 0 then
- return 180
- end if
- end if
- if deltaX = 0 then
- deltaX = 0.01
- end if
- theAngle = atan(float(deltaY) / float(deltaX))
- theAngle = theAngle * 180 / PI
- if (deltaX < 0) and (deltaY > 0) then
- theAngle = 180 + theAngle
- else
- if (deltaX < 0) and (deltaY < 0) then
- theAngle = 180 + theAngle
- else
- if (deltaX > 0) and (deltaY < 0) then
- theAngle = 360 + theAngle
- end if
- end if
- end if
- theAngle = theAngle - 90
- if theAngle < 0 then
- theAngle = 360 + theAngle
- end if
- return theAngle
- end
-