home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Acao / kingofthehill.swf / scripts / DefineSprite_350 / frame_1 / DoAction.as < prev   
Encoding:
Text File  |  2005-07-25  |  6.4 KB  |  241 lines

  1. function fStartGame()
  2. {
  3.    var _loc3_ = pLevels[pLevel];
  4.    var _loc2_ = 0;
  5.    while(_loc2_ < _loc3_.pPattern.length)
  6.    {
  7.       if(_loc3_.pPattern[_loc2_] != 0)
  8.       {
  9.          if(_loc3_.pPattern[_loc2_][pPattern] != 0)
  10.          {
  11.             var _loc1_ = 0;
  12.             while(_loc1_ < 2)
  13.             {
  14.                fMakeEnemy(_loc2_);
  15.                _loc1_ = _loc1_ + 1;
  16.             }
  17.          }
  18.       }
  19.       _loc2_ = _loc2_ + 1;
  20.    }
  21. }
  22. function fMakeEnemy(p)
  23. {
  24.    totalbaddies++;
  25.    var tEnemy = pEnemy[p];
  26.    var _loc1_ = this.attachMovie(tEnemy.pIN,"baddy" + totalbaddies,totalbaddies);
  27.    _loc1_.pType = tEnemy.pName;
  28.    _loc1_.pNum = totalbaddies;
  29.    var _loc3_ = fGetRandomStartPos();
  30.    var tAim = fGetNearestAim(_loc3_,_loc1_);
  31.    var _loc2_ = _global.fRadianToAngle(getAngle(_loc3_,{x:tAim._x,y:tAim._y}));
  32.    _loc2_ = fReangle(_loc2_ - 90);
  33.    var tRad = _global.fAngleToRadian(_loc2_);
  34.    var tVec = _global.fRadianToVector(tRad);
  35.    _loc1_.pEventCount = 0;
  36.    _loc1_._x = _loc3_.x;
  37.    _loc1_._y = _loc3_.y;
  38.    _loc1_.pSpeed = tEnemy.pSpeed / pSpeedDiv;
  39.    _loc1_.dirang = _loc2_;
  40.    var tRotGfx = fReangle(_loc2_ - 90);
  41.    _loc1_._rotation = tRotGfx;
  42.    _loc1_.pAim = tAim;
  43.    _loc1_.pReachAim = false;
  44.    baddies.push(_loc1_);
  45. }
  46. function timer()
  47. {
  48.    if(loc.dead == false)
  49.    {
  50.       loc.framecount = loc.framecount + 1;
  51.       if(loc.framecount >= 24)
  52.       {
  53.          time--;
  54.          framecount = 0;
  55.       }
  56.    }
  57.    if(loc.gameover == false)
  58.    {
  59.       if(time == 0)
  60.       {
  61.          fResetArrows();
  62.          _root.gotoAndPlay("win");
  63.          loc.dead = true;
  64.          loc.gameover = true;
  65.       }
  66.       else if(loc.dead == true)
  67.       {
  68.          fResetArrows();
  69.          _root.gotoAndPlay("lose");
  70.          loc.gameover = true;
  71.       }
  72.    }
  73. }
  74. function fReangle(tAngle)
  75. {
  76.    var _loc1_ = tAngle;
  77.    if(_loc1_ > 360)
  78.    {
  79.       _loc1_ %= 360;
  80.    }
  81.    else if(_loc1_ < 0)
  82.    {
  83.       _loc1_ = 360 + _loc1_;
  84.    }
  85.    return _loc1_;
  86. }
  87. function fAddToStartPos(who)
  88. {
  89.    pStartList.push(who);
  90.    who._visible = false;
  91. }
  92. function fAddToAimPos(who)
  93. {
  94.    pAimList.push(who);
  95.    who._visible = false;
  96. }
  97. function fAddToCatapultPos(who)
  98. {
  99.    pCatapultList.push(who);
  100.    who._visible = false;
  101. }
  102. function fNewGun(who)
  103. {
  104.    pGunDepth++;
  105.    who.swapDepths(pGunDepth);
  106. }
  107. pLevel = _root.pLevel;
  108. pLevels = [];
  109. pEnemy = [];
  110. if(pLevel == 0 or pLevel == 4 or (pLevel == 8)(pLevel == 12))
  111. {
  112.    _root.pCatapults = [1,1,1,1];
  113. }
  114. pFireKey = 0;
  115. pGunNum = 0;
  116. pGuns = [gun0,gun1,gun2,gun3];
  117. pGunStates = _root.pCatapults;
  118. pReloadTime = 50;
  119. pLives = 0;
  120. for(var l in pGunStates)
  121. {
  122.    if(pGunStates[l] != -1)
  123.    {
  124.       pLives++;
  125.    }
  126. }
  127. nextBullet = 1000;
  128. bullets = [];
  129. explos = [];
  130. baddies = [];
  131. totalbaddies = 10;
  132. nose = 30;
  133. speed = 4;
  134. depth = 900;
  135. framecount = 0;
  136. baddysdead = _root.score;
  137. dead = false;
  138. gameover = false;
  139. loc = _root.missions;
  140. trace("----- ");
  141. trace("pLevel " + pLevel);
  142. trace("pTime " + pTime);
  143. trace("pLives " + pLives);
  144. trace("pGunStates " + pGunStates);
  145. trace("----- ");
  146. pEnemy.push({pName:"Tower",pSpeed:3,pStages:1,pIN:"mcEnemyTower"});
  147. pEnemy.push({pName:"Ram",pSpeed:5,pStages:1,pIN:"mcEnemyRam"});
  148. pEnemy.push({pName:"Catapult",pSpeed:4,pStages:1,pIN:"mcEnemyCatapult"});
  149. pEnemy.push({pName:"Trojan",pSpeed:4,pStages:1,pIN:"mcEnemyTrojan"});
  150. var tPhase = 400;
  151. pSpeedDiv = 8;
  152. pRateAmount = 500;
  153. pLevels.push({pTime:50,pPhase:tPhase + 100,pRate:[1,1,1,1],pPattern:[[0,1,0],[1,0,1],0,0]});
  154. pLevels.push({pTime:50,pPhase:tPhase + 100,pRate:[1,1,1,1],pPattern:[[0,1,1],[1,1,0],0,0]});
  155. pLevels.push({pTime:50,pPhase:tPhase + 100,pRate:[1,1,1,1],pPattern:[[1,0,0],[1,1,0],[0,1,0],0]});
  156. pLevels.push({pTime:55,pPhase:tPhase + 100,pRate:[1,1,1,1],pPattern:[[1,1,0],[1,0,1],[0,1,1],0]});
  157. pLevels.push({pTime:60,pPhase:tPhase + 50,pRate:[2,2,2,2],pPattern:[[0,1,1],[1,0,1],[0,1,0],0]});
  158. pLevels.push({pTime:60,pPhase:tPhase + 50,pRate:[2,2,2,2],pPattern:[[1,0,1],[1,1,0],[0,0,1],0]});
  159. pLevels.push({pTime:60,pPhase:tPhase + 50,pRate:[2,2,2,2],pPattern:[[1,0,1],[1,1,0],[1,1,0],0]});
  160. pLevels.push({pTime:65,pPhase:tPhase + 50,pRate:[2,2,2,2],pPattern:[[1,1,0],[1,0,1],[0,1,1],0]});
  161. pLevels.push({pTime:70,pPhase:tPhase + 20,pRate:[3,3,3,3],pPattern:[[0,1,1],[1,0,1],[1,1,0],0]});
  162. pLevels.push({pTime:70,pPhase:tPhase + 20,pRate:[3,3,3,3],pPattern:[[1,0,1],[1,1,0],[0,1,1],0]});
  163. pLevels.push({pTime:70,pPhase:tPhase + 20,pRate:[3,3,3,3],pPattern:[[1,0,1],[1,1,0],[1,1,0],0]});
  164. pLevels.push({pTime:75,pPhase:tPhase + 20,pRate:[3,3,3,3],pPattern:[[1,1,0],[1,0,1],[1,0,1],0]});
  165. pLevels.push({pTime:80,pPhase:tPhase + 0,pRate:[3,3,3,3],pPattern:[[1,0,1,1,1,0,0],[0,1,1,0,1,0],[0,1,1,1,0,0],0]});
  166. time = pLevels[pLevel].pTime;
  167. pTime = pLevels[pLevel].pTime;
  168. pPhase = 0;
  169. pPattern = 0;
  170. pClearCount = 0;
  171. this.onEnterFrame = function()
  172. {
  173.    if(loc.dead == false)
  174.    {
  175.       var _loc2_ = pLevels[pLevel];
  176.       pPhase++;
  177.       if(pPhase > _loc2_.pPhase)
  178.       {
  179.          pPhase = 0;
  180.          pPattern++;
  181.          if(pPattern == _loc2_.pPattern[0].length)
  182.          {
  183.             pPattern = 0;
  184.          }
  185.          fStartGame();
  186.       }
  187.       var _loc1_ = 0;
  188.       while(_loc1_ < _loc2_.pPattern.length)
  189.       {
  190.          if(_loc2_.pPattern[_loc1_] != 0)
  191.          {
  192.             if(_loc2_.pPattern[_loc1_][pPattern] != 0)
  193.             {
  194.                if(random(pRateAmount) <= _loc2_.pRate[_loc1_])
  195.                {
  196.                   fMakeEnemy(_loc1_);
  197.                }
  198.             }
  199.          }
  200.          _loc1_ = _loc1_ + 1;
  201.       }
  202.    }
  203. };
  204. pArrowList = [inArrow0,inArrow1,inArrow2,inArrow3,inArrowAll];
  205. pOilList = [inOil0,inOil1,inOil2,inOil3];
  206. pStartList = [];
  207. pAimList = [];
  208. pCatapultList = [];
  209. pGunDepth = 20000;
  210. _global.getAngle = function(t, c)
  211. {
  212.    return Math.atan2(t.y - c.y,t.x - c.x);
  213. };
  214. _global.fVectToRadian = function(vect)
  215. {
  216.    return Math.atan2(vect.y,vect.x);
  217. };
  218. _global.fRadianToVector = function(rad)
  219. {
  220.    return {x:Math.sin(rad),y:- Math.cos(rad)};
  221. };
  222. _global.fRadianToAngle = function(rad)
  223. {
  224.    return rad * 180 / 3.141592653589793;
  225. };
  226. _global.fAngleToRadian = function(ang)
  227. {
  228.    return ang * 3.141592653589793 / 180;
  229. };
  230. _global.fReAngle = function(ang)
  231. {
  232.    return ang % 360;
  233. };
  234. _global.fGetDistance = function(a, b)
  235. {
  236.    var _loc1_ = b;
  237.    var _loc2_ = a;
  238.    return Math.sqrt((_loc2_.x - _loc1_.x) * (_loc2_.x - _loc1_.x) + (_loc2_.y - _loc1_.y) * (_loc2_.y - _loc1_.y));
  239. };
  240. gotoAndStop(pLevel + 2);
  241.