Advertisement
Guest User

Y2650.as

a guest
May 24th, 2013
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package
  2. {
  3.     import flash.accessibility.ISearchableText;
  4.     import flash.display.MovieClip;
  5.     import flash.events.Event;
  6.     import flash.events.MouseEvent;
  7.     import flash.utils.getTimer;
  8.     import flash.utils.Timer;
  9.    
  10.     /**
  11.      * ...
  12.      * @author Juneyee Oh
  13.      */
  14.     public class Y2650 extends MovieClip
  15.     {
  16.         //Declare variables here
  17.         //Declare Arrays
  18.         public var creep1Array:Array = new Array;
  19.         public var creep2Array:Array = new Array;
  20.         public var tower1BulletArray:Array = new Array;
  21.         private var tower1Array:Array = new Array;
  22.         //Declare buttons
  23.         var buttonCreep1:btnCreep1
  24.         var buttonCreep2:btnCreep2
  25.         //Declare variables for currency
  26.         var money:int
  27.         var alienMeat:int
  28.         //Declare variables for upgrades
  29.         var creep1Level:int = 1;
  30.         var creep2Level:int = 1;
  31.         //Declare variables for creep stats
  32.         var creep1HP:int
  33.         var xCreep1Speed:Number = 3;
  34.         var yCreep1Speed:Number = 1.25;
  35.         var creep2HP:int
  36.         var xCreep2Speed:Number = 4;
  37.         var yCreep2Speed:Number = 0.75;
  38.         //Declare variables for game statuses
  39.         var gamePaused:Boolean
  40.         public var currentLevelFrame:int
  41.         public var currentLevelSeconds:int
  42.         public var currentLevelMinutes:int
  43.         //Declare variables for level statuses and information
  44.         var level1Clear:Boolean
  45.         var level1Score:Boolean
  46.         var level2Clear:Boolean
  47.         var level2Score:Boolean
  48.         //Declare variables which affect AI
  49.         var creepDeaths:int
  50.         //Declare variables for alien towers
  51.         var tower1HP:int
  52.         var tower1Damage:int
  53.         var tower1Weakened:Boolean
  54.         var laser1Speed:Number = 10;
  55.         var tower2HP:int
  56.         var tower2Damage:int
  57.         var tower2Weakened:Boolean
  58.        
  59.         /*Use this code to change scene...
  60.            gotoAndStop(1, 'FillinSceneName');
  61.          */
  62.        
  63.         public function Y2650()
  64.         {
  65.             gotoAndStop(1, 'mainMenu');
  66.             btnStartGame.addEventListener(MouseEvent.CLICK, levelSelect1);
  67.             alienMeat = 0;
  68.             level1Clear = false;
  69.         }
  70.        
  71.         private function clearLevel():void
  72.         {
  73.             stage.removeEventListener(Event.ENTER_FRAME, update);
  74.             stage.removeChild(buttonCreep1);
  75.             stage.removeChild(buttonCreep2);
  76.             for (var i = creep1Array.length - 1; i >= 0; i--)
  77.             {
  78.                 removeChild(creep1Array[i]);
  79.                 creep1Array.splice(i, 1);
  80.                     //trace ("Creep1 Removed");
  81.             }
  82.             for (var j = creep2Array.length - 1; j >= 0; j--)
  83.             {
  84.                 removeChild(creep2Array[j]);
  85.                 creep2Array.splice(j, 1);
  86.                     //trace ("Creep2 Removed");
  87.             }
  88.             for (var k = tower1Array.length - 1; k >= 0; k--)
  89.             {
  90.                 removeChild(tower1Array[k]);
  91.                 tower1Array.splice(k, 1);
  92.             }
  93.             for (var l = tower1BulletArray.length - 1; l >= 0; l--)
  94.             {
  95.                 tower1BulletArray[l].removeEventListener(Event.ENTER_FRAME, laser1Handler);
  96.                 stage.removeChild(tower1BulletArray[l]);
  97.                 tower1BulletArray.splice(0, 1);
  98.                
  99.             }
  100.         }
  101.        
  102.         private function upgradeScreen(e:MouseEvent):void
  103.         {
  104.             gotoAndStop(1, 'upgrades1');
  105.             btnUpgradeCreep1.addEventListener(MouseEvent.CLICK, upgradeCreep1);
  106.             btnBack.addEventListener(MouseEvent.CLICK, levelSelect1);
  107.         }
  108.        
  109.         private function levelSelect1(e:MouseEvent):void
  110.         {
  111.             gotoAndStop(1, 'levelSelect1');
  112.             btnLevel1.addEventListener(MouseEvent.CLICK, level1);
  113.             btnLevel2.addEventListener(MouseEvent.CLICK, level2);
  114.             btnUpgrade1.addEventListener(MouseEvent.CLICK, upgradeScreen);
  115.             if (level1Clear == true)
  116.             {
  117.                 lv1Clear.alpha = 100;
  118.             }
  119.             else if (level1Clear == false)
  120.             {
  121.                 lv1Clear.alpha = 0;
  122.             }
  123.         }
  124.        
  125.         private function upgradeCreep1(e:MouseEvent):void
  126.         {
  127.             if (creep1Level < 10)
  128.             {
  129.                 creep1Level += 1;
  130.                 trace(creep1Level);
  131.             }
  132.         }
  133.        
  134.         private function level2(e:MouseEvent):void
  135.         {
  136.             gotoAndStop(1, 'level2');
  137.             //Initialise variables
  138.             //Variables for Creep 1
  139.             buttonCreep1 = new btnCreep1;
  140.             stage.addChild(buttonCreep1);
  141.             buttonCreep1.x = 0;
  142.             buttonCreep1.y = 600;
  143.             //Variables for Creep 2
  144.             buttonCreep2 = new btnCreep2;
  145.             stage.addChild(buttonCreep2);
  146.             buttonCreep2.x = 100;
  147.             buttonCreep2.y = 600;
  148.             //Arrays for Creeps
  149.             creep2Array = new Array;
  150.             creep1Array = new Array;
  151.             //Arrays for towers
  152.             tower1Array = new Array;
  153.             tower1BulletArray = new Array;
  154.             //PLACE TOWER POSITIONS HERE
  155.             var tower1New1:MovieClip = new mcTower1;
  156.             tower1New1.x = 313;
  157.             tower1New1.y = 340;
  158.             tower1Array.push(tower1New1);
  159.             MovieClip(root).addChild(tower1New1);
  160.             //
  161.             var tower1New2:MovieClip = new mcTower1;
  162.             tower1New2.x = 590;
  163.             tower1New2.y = 340;
  164.             tower1Array.push(tower1New2);
  165.             MovieClip(root).addChild(tower1New2);
  166.             //
  167.             var tower1New3:MovieClip = new mcTower1;
  168.             tower1New3.x = 466;
  169.             tower1New3.y = 180;
  170.             tower1Array.push(tower1New3);
  171.             MovieClip(root).addChild(tower1New3);
  172.             //
  173.             //Other Variables
  174.             money = 500;
  175.             gamePaused = false;
  176.             //Event Listeners
  177.             stage.addEventListener(Event.ENTER_FRAME, update);
  178.             buttonCreep1.addEventListener(MouseEvent.CLICK, spawnCreep1Lv1);
  179.             buttonCreep2.addEventListener(MouseEvent.CLICK, spawnCreep2Lv1);
  180.             btnBack.addEventListener(MouseEvent.CLICK, exitLevel);
  181.             btnPause.addEventListener(MouseEvent.CLICK, pauseGame);
  182.             btnResume.addEventListener(MouseEvent.CLICK, resumeGame);
  183.         }
  184.        
  185.         private function level1(e:MouseEvent):void
  186.         {
  187.             gotoAndStop(1, 'level1');
  188.             //Initialise variables
  189.             //Variables for Creep 1
  190.             buttonCreep1 = new btnCreep1;
  191.             stage.addChild(buttonCreep1);
  192.             buttonCreep1.x = 0;
  193.             buttonCreep1.y = 600;
  194.             //Variables for Creep 2
  195.             buttonCreep2 = new btnCreep2;
  196.             stage.addChild(buttonCreep2);
  197.             buttonCreep2.x = 100;
  198.             buttonCreep2.y = 600;
  199.             //Arrays for Creeps
  200.             creep2Array = new Array;
  201.             creep1Array = new Array;
  202.             //Arrays for towers
  203.             tower1Array = new Array;
  204.             tower1BulletArray = new Array;
  205.             //PLACE TOWER POSITIONS HERE
  206.             var tower1New1:MovieClip = new mcTower1;
  207.             tower1New1.x = 313;
  208.             tower1New1.y = 340;
  209.             tower1Array.push(tower1New1);
  210.             MovieClip(root).addChild(tower1New1);
  211.             //
  212.             var tower1New2:MovieClip = new mcTower1;
  213.             tower1New2.x = 590;
  214.             tower1New2.y = 340;
  215.             tower1Array.push(tower1New2);
  216.             MovieClip(root).addChild(tower1New2);
  217.             //
  218.             var tower1New3:MovieClip = new mcTower1;
  219.             tower1New3.x = 466;
  220.             tower1New3.y = 180;
  221.             tower1Array.push(tower1New3);
  222.             MovieClip(root).addChild(tower1New3);
  223.             //
  224.             //Other Variables
  225.             money = 500;
  226.             gamePaused = false;
  227.             currentLevelMinutes = 0;
  228.             currentLevelSeconds = 0;
  229.             //Event Listeners
  230.             stage.addEventListener(Event.ENTER_FRAME, update);
  231.             buttonCreep1.addEventListener(MouseEvent.CLICK, spawnCreep1Lv1);
  232.             buttonCreep2.addEventListener(MouseEvent.CLICK, spawnCreep2Lv1);
  233.             btnBack.addEventListener(MouseEvent.CLICK, exitLevel);
  234.             btnPause.addEventListener(MouseEvent.CLICK, pauseGame);
  235.             btnResume.addEventListener(MouseEvent.CLICK, resumeGame);
  236.             stage.addEventListener(MouseEvent.CLICK, clickTower1);
  237.             //This code stops the execution of selected click events.
  238.             e.stopPropagation();
  239.         }
  240.        
  241.         private function clickTower1(e:MouseEvent):void
  242.         {
  243.             for each (var tower1:mcTower1 in tower1Array)
  244.             {
  245.                 var newLaser1:mcLaser1 = new mcLaser1();
  246.                 newLaser1.rotation = tower1.rotation;
  247.                 newLaser1.x = tower1.x + Math.cos(newLaser1.rotation * Math.PI / 180) * 40;
  248.                 newLaser1.y = tower1.y + Math.sin(newLaser1.rotation * Math.PI / 180) * 40;
  249.                 newLaser1.addEventListener(Event.ENTER_FRAME, laser1Handler);
  250.                 tower1BulletArray.push(newLaser1);
  251.                 tower1BulletArray[tower1BulletArray.length - 1].addEventListener(LaserEvent.REMOVE_THIS, removeLaser);
  252.                 stage.addChild(newLaser1);
  253.             }
  254.         }
  255.        
  256.         private function removeLaser(e:LaserEvent):void
  257.         {
  258.             for (var loop:uint = 0; loop < tower1BulletArrayLength; loop++)
  259.             {
  260.                 if (tower1BulletArray[loop] == e.target)
  261.                 {
  262.                     removeChild(tower1BulletArray[loop]);
  263.                     tower1BulletArray.splice(loop, 1);
  264.                 }
  265.             }
  266.         }
  267.        
  268.         private function laser1Handler(e:Event):void
  269.         {
  270.             //Make laser move in direction of turret.
  271.             var newLaser1:MovieClip = e.currentTarget as MovieClip;
  272.             newLaser1.x += Math.cos(newLaser1.rotation * Math.PI / 180) * laser1Speed;
  273.             newLaser1.y += Math.sin(newLaser1.rotation * Math.PI / 180) * laser1Speed;
  274.             //Boundary checking
  275.             if (newLaser1.x < -50 || newLaser1.x > 800 || newLaser1.y > 600 || newLaser1.y < -50)
  276.             {
  277.                 newLaser1.removeEventListener(Event.ENTER_FRAME, laser1Handler);
  278.                 stage.removeChild(newLaser1);
  279.                 tower1BulletArray.splice(0, 1);
  280.             }
  281.         }
  282.        
  283.         private function resumeGame(e:MouseEvent):void
  284.         {
  285.             stage.frameRate = 6;
  286.             gamePaused = false;
  287.         }
  288.        
  289.         private function pauseGame(e:MouseEvent):void
  290.         {
  291.             gamePaused = true;
  292.         }
  293.        
  294.         private function exitLevel(e:MouseEvent):void
  295.         {
  296.             stage.frameRate = 6;
  297.             gamePaused = false;
  298.             clearLevel();
  299.             gotoAndStop(1, 'exitLevel');
  300.             btnExitLevel.addEventListener(MouseEvent.CLICK, levelSelect1);
  301.         }
  302.        
  303.         private function update(e:Event):void
  304.         {
  305.             //trace ("update function is working")
  306.             creep1Lv1();
  307.             creep2Lv1();
  308.             tower1Fire();
  309.             pauseControl();
  310.             timeControl();
  311.             updateTimeTxt();
  312.         }
  313.        
  314.         private function updateTimeTxt():void
  315.         {
  316.             if (currentLevelSeconds >= 10)
  317.             {
  318.                 timeTxt.text = "Time Elapsed = " + currentLevelMinutes + ":" + currentLevelSeconds;
  319.             }
  320.             else if (currentLevelSeconds < 10)
  321.             {
  322.                 timeTxt.text = "Time Elapsed = " + currentLevelMinutes + ":0" + currentLevelSeconds;
  323.             }
  324.         }
  325.        
  326.         private function timeControl():void
  327.         {
  328.             currentLevelFrame++;
  329.             if (currentLevelFrame >= 60)
  330.             {
  331.                 currentLevelFrame = 0;
  332.                 currentLevelSeconds++;
  333.                 if (currentLevelSeconds >= 60)
  334.                 {
  335.                     currentLevelMinutes++;
  336.                     currentLevelSeconds = 0;
  337.                 }
  338.             }
  339.         }
  340.        
  341.         private function pauseControl():void
  342.         {
  343.             if (gamePaused == true)
  344.             {
  345.                 btnBack.visible = true;
  346.                 btnResume.visible = true;
  347.                 btnPause.visible = false;
  348.                 stage.frameRate = 0;
  349.             }
  350.             else if (gamePaused == false)
  351.             {
  352.                 stage.frameRate = 6;
  353.                 btnBack.visible = false;
  354.                 btnResume.visible = false;
  355.                 btnPause.visible = true;
  356.             }
  357.         }
  358.        
  359.         private function tower1Fire():void
  360.         {
  361.             for each (var tower1:mcTower1 in tower1Array)
  362.             {
  363.                 tower1.tower1Update();
  364.             }
  365.         }
  366.        
  367.         private function creep2Lv1():void
  368.         {
  369.             for (var i = creep2Array.length - 1; i >= 0; i--)
  370.             {
  371.                 if (creep2Array[i].x < 685 && creep2Array[i].y == 450)
  372.                 {
  373.                     creep2Array[i].x += xCreep2Speed;
  374.                 }
  375.                
  376.                 else if (creep2Array[i].x >= 685 && creep2Array[i].y > 280)
  377.                 {
  378.                     creep2Array[i].y -= yCreep2Speed;
  379.                 }
  380.                 else if (creep2Array[i].x > 80 && creep2Array[i].y <= 280 && creep2Array[i].y >= 275)
  381.                 {
  382.                     creep2Array[i].x -= xCreep2Speed;
  383.                 }
  384.                 else if (creep2Array[i].x <= 80 && creep2Array[i].y > 125)
  385.                 {
  386.                     creep2Array[i].y -= yCreep2Speed;
  387.                 }
  388.                 else if (creep2Array[i].x <= 910 && creep2Array[i].y <= 125)
  389.                 {
  390.                     creep2Array[i].x += xCreep2Speed;
  391.                 }
  392.                 else if (creep2Array[i].x <= -100 || creep2Array[i].x >= 900 || creep2Array[i].y <= -100 || creep2Array[i].y >= 700)
  393.                 {
  394.                     removeChild(creep2Array[i]);
  395.                     creep2Array.splice(i, 1);
  396.                         //trace ("Creep1 Removed");
  397.                 }
  398.             }
  399.         }
  400.        
  401.         private function creep1Lv1():void
  402.         {
  403.             for (var i = creep1Array.length - 1; i >= 0; i--)
  404.             {
  405.                 if (creep1Array[i].x < 680 && creep1Array[i].y == 465)
  406.                 {
  407.                     creep1Array[i].x += xCreep1Speed;
  408.                 }
  409.                
  410.                 else if (creep1Array[i].x >= 680 && creep1Array[i].y > 290)
  411.                 {
  412.                     creep1Array[i].y -= yCreep1Speed;
  413.                 }
  414.                 else if (creep1Array[i].x > 80 && creep1Array[i].y == 290)
  415.                 {
  416.                     creep1Array[i].x -= xCreep1Speed;
  417.                 }
  418.                 else if (creep1Array[i].x <= 80 && creep1Array[i].y > 125)
  419.                 {
  420.                     creep1Array[i].y -= yCreep1Speed;
  421.                 }
  422.                 else if (creep1Array[i].x <= 910 && creep1Array[i].y == 125)
  423.                 {
  424.                     creep1Array[i].x += xCreep1Speed;
  425.                 }
  426.                 else if (creep1Array[i].x <= -100 || creep1Array[i].x >= 900 || creep1Array[i].y <= -100 || creep1Array[i].y >= 700)
  427.                 {
  428.                     removeChild(creep1Array[i]);
  429.                     creep1Array.splice(i, 1);
  430.                         //trace ("Creep1 Removed");
  431.                 }
  432.             }
  433.         }
  434.        
  435.         private function spawnCreep1Lv1(e:MouseEvent):void
  436.         {
  437.             var newCreep1 = new mcCreep1;
  438.             newCreep1.x = 100;
  439.             newCreep1.y = 465;
  440.             addChild(newCreep1);
  441.             creep1Array.push(newCreep1);
  442.             money -= 15;
  443.         }
  444.        
  445.         private function spawnCreep2Lv1(e:MouseEvent):void
  446.         {
  447.             var newCreep2 = new mcCreep2;
  448.             newCreep2.x = 100;
  449.             newCreep2.y = 450;
  450.             addChild(newCreep2);
  451.             creep2Array.push(newCreep2);
  452.             money -= 25;
  453.         }
  454.     }
  455. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement