home *** CD-ROM | disk | FTP | other *** search
/ Champak 112 / jogo-disk-112.iso / Games / parking_zone.swf / scripts / frame_1 / DoAction.as
Text File  |  2010-07-14  |  9KB  |  339 lines

  1. function prepareBoard(boardNum, resetMoves)
  2. {
  3.    msg.swapDepths(13600);
  4.    msg.gotoAndPlay("stagePass");
  5.    var i = 0;
  6.    while(i <= 5)
  7.    {
  8.       var j = 1;
  9.       while(j <= 5)
  10.       {
  11.          this["bridge" + i + j]._visible = false;
  12.          j++;
  13.       }
  14.       i++;
  15.    }
  16.    bridgesArray = this["bridges" + boardNum].split(",");
  17.    var i = 0;
  18.    while(i < bridgesArray.length)
  19.    {
  20.       if(bridgesArray[i].substr(0,1) > bridgesArray[i].substr(1,1))
  21.       {
  22.          bridgesArray[i] = bridgesArray[i].substr(1,1) + bridgesArray[i].substr(0,1);
  23.       }
  24.       this["bridge" + bridgesArray[i]]._visible = true;
  25.       this["bridge" + bridgesArray[i]].swapDepths(1000 + i * 100);
  26.       i++;
  27.    }
  28.    positionsArray = this["positions" + boardNum].split(",");
  29.    carOnParking = new Array();
  30.    var i = 1;
  31.    while(i <= 5)
  32.    {
  33.       this["car" + positionsArray[i - 1]]._x = this["parking" + i]._x;
  34.       this["car" + positionsArray[i - 1]]._y = this["parking" + i]._y;
  35.       carOnParking[i] = positionsArray[i - 1];
  36.       i++;
  37.    }
  38.    if(resetMoves == true)
  39.    {
  40.       moves = 0;
  41.    }
  42.    freeParking = 0;
  43.    checkPositions();
  44.    rotateAllConnectedCars();
  45. }
  46. function clearBoard()
  47. {
  48.    var i = 0;
  49.    while(i <= 5)
  50.    {
  51.       var j = 1;
  52.       while(j <= 5)
  53.       {
  54.          this["bridge" + i + j]._visible = false;
  55.          j++;
  56.       }
  57.       i++;
  58.    }
  59.    var i = 1;
  60.    while(i <= 5)
  61.    {
  62.       this["car" + i].gotoAndStop(6);
  63.       i++;
  64.    }
  65.    var i = 1;
  66.    while(i <= 6)
  67.    {
  68.       this["parking" + i].gotoAndStop(7);
  69.       i++;
  70.    }
  71.    msg.gotoAndStop(1);
  72. }
  73. function connectionExists(fromTo)
  74. {
  75.    if(fromTo.substr(0,1) > fromTo.substr(1,1))
  76.    {
  77.       fromTo = fromTo.substr(1,1) + fromTo.substr(0,1);
  78.    }
  79.    var i = 0;
  80.    while(i < bridgesArray.length)
  81.    {
  82.       if(fromTo == bridgesArray[i])
  83.       {
  84.          return true;
  85.       }
  86.       i++;
  87.    }
  88.    return false;
  89. }
  90. function rotateAllConnectedCars()
  91. {
  92.    var i = 0;
  93.    while(i <= 5)
  94.    {
  95.       if(connectionExists(i.toString() + freeParking))
  96.       {
  97.          this["car" + carOnParking[i]].rotateCarToFree();
  98.       }
  99.       else
  100.       {
  101.          carStoppedRotating();
  102.       }
  103.       i++;
  104.    }
  105. }
  106. function crossBridge(parkingNum)
  107. {
  108.    carToMove = carOnParking[parkingNum];
  109.    if(animation)
  110.    {
  111.       buttonsBlocked(true);
  112.       if(parkingNum > freeParking)
  113.       {
  114.          bridgeToCross = freeParking.toString() + parkingNum;
  115.       }
  116.       else
  117.       {
  118.          bridgeToCross = parkingNum.toString() + freeParking;
  119.       }
  120.       _root["car" + carToMove].swapDepths(_root["bridge" + bridgeToCross].getDepth() + 1);
  121.       this["car" + carToMove]._rotation = this["car" + carToMove].targetAngle;
  122.       this["car" + carToMove].gas.play();
  123.       xStartDistance = _root["parking" + freeParking]._x - _root["car" + carToMove]._x;
  124.       yStartDistance = _root["parking" + freeParking]._y - _root["car" + carToMove]._y;
  125.       carMover.onEnterFrame = function()
  126.       {
  127.          xDistance = _root["parking" + freeParking]._x - _root["car" + carToMove]._x;
  128.          yDistance = _root["parking" + freeParking]._y - _root["car" + carToMove]._y;
  129.          _root["car" + carToMove]._x += xStartDistance / 30;
  130.          _root["car" + carToMove]._y += yStartDistance / 30;
  131.          if(Math.abs(xDistance) < 5 and Math.abs(yDistance) < 5)
  132.          {
  133.             _root["car" + carToMove]._x = _root["parking" + freeParking]._x;
  134.             _root["car" + carToMove]._y = _root["parking" + freeParking]._y;
  135.             carOnParking[parkingNum] = 0;
  136.             carOnParking[freeParking] = carToMove;
  137.             freeParking = parkingNum;
  138.             moves++;
  139.             checkPositions();
  140.             stoppedRotatingCars = 0;
  141.             rotateAllConnectedCars();
  142.             delete this.onEnterFrame;
  143.          }
  144.       };
  145.    }
  146.    else
  147.    {
  148.       _root["car" + carToMove]._x = _root["parking" + freeParking]._x;
  149.       _root["car" + carToMove]._y = _root["parking" + freeParking]._y;
  150.       carOnParking[parkingNum] = 0;
  151.       carOnParking[freeParking] = carToMove;
  152.       freeParking = parkingNum;
  153.       moves++;
  154.       checkPositions();
  155.       stoppedRotatingCars = 0;
  156.       rotateAllConnectedCars();
  157.    }
  158. }
  159. function checkPositions()
  160. {
  161.    totalCorrects = 0;
  162.    var i = 1;
  163.    while(i <= 5)
  164.    {
  165.       if(carOnParking[i] == i)
  166.       {
  167.          this["parking" + i].correctCar._visible = true;
  168.          totalCorrects++;
  169.       }
  170.       else
  171.       {
  172.          this["parking" + i].correctCar._visible = false;
  173.       }
  174.       i++;
  175.    }
  176.    if(totalCorrects == 5)
  177.    {
  178.       BoardFinished();
  179.    }
  180. }
  181. function BoardFinished()
  182. {
  183.    boardScore = (maxMoves - moves) * 10;
  184.    if(boardScore < 0)
  185.    {
  186.       boaedScore = 0;
  187.    }
  188.    addScore(boardScore);
  189.    boardScoreBlinker.gotoAndPlay("blink");
  190.    blowup.gotoAndPlay("blow");
  191.    currentBoard++;
  192.    prepareBoard(currentBoard,true);
  193. }
  194. function buttonsBlocked(bulian)
  195. {
  196.    var i = 0;
  197.    while(i <= 5)
  198.    {
  199.       this["parking" + i].btn._visible = !bulian;
  200.       i++;
  201.    }
  202. }
  203. function carStoppedRotating()
  204. {
  205.    stoppedRotatingCars++;
  206.    if(stoppedRotatingCars == 6)
  207.    {
  208.       buttonsBlocked(false);
  209.       stoppedRotatingCars = 0;
  210.       var i = 0;
  211.       while(i <= 5)
  212.       {
  213.          if(connectionExists(i.toString() + freeParking))
  214.          {
  215.             this["parking" + i].btn._visible = true;
  216.          }
  217.          else
  218.          {
  219.             this["parking" + i].btn._visible = false;
  220.          }
  221.          i++;
  222.       }
  223.    }
  224. }
  225. function addScore(points)
  226. {
  227.    score += points;
  228.    scoreText = thousandsDot(score);
  229. }
  230. function thousandsDot(scoreNum)
  231. {
  232.    textualNum = scoreNum.toString();
  233.    if(scoreNum > 1000)
  234.    {
  235.       last3figures = textualNum.substr(-3);
  236.       Thousendsfigures = textualNum.substring(0,textualNum.length - 3);
  237.       textualNum = Thousendsfigures + "." + last3figures;
  238.    }
  239.    return textualNum;
  240. }
  241. function gameOver()
  242. {
  243.    buttonsBlocked(true);
  244.    msg.gotoAndPlay("enterScore");
  245. }
  246. function submitScore()
  247. {
  248.    myScore = Number(_root.scoreText);
  249.    if(scoreText.indexOf(".") > -1)
  250.    {
  251.       myScore *= 1000;
  252.    }
  253.    top10Vars.send("submitScore.asp?name=" + msg.myName + "&carNum =" + msg.myCar + "&score=" + myScore);
  254. }
  255. positions1 = "2,3,5,1,4";
  256. bridges1 = "10,12,23,34,45,50,30,14,25";
  257. positions2 = "5,4,2,3,1";
  258. bridges2 = "10,20,40,50,15,23,34";
  259. positions3 = "3,4,5,1,2";
  260. bridges3 = "20,30,40,13,14,25,35";
  261. positions4 = "4,3,5,2,1";
  262. bridges4 = "30,10,50,15,14,25,24,23,34";
  263. positions5 = "5,4,2,1,3";
  264. bridges5 = "10,50,12,13,14,23,24,25,34,35,45";
  265. positions6 = "5,3,4,2,1";
  266. bridges6 = "10,12,14,15,23,24,25,34,45,50";
  267. positions7 = "4,5,1,2,3";
  268. bridges7 = "13,14,15,20,24,25,30,35,40";
  269. positions8 = "3,5,4,2,1";
  270. bridges8 = "10,12,15,23,24,34,30,45,50";
  271. positions9 = "4,5,1,2,3";
  272. bridges9 = "12,13,14,20,25,35,30,45,40";
  273. positions10 = "2,4,5,1,3";
  274. bridges10 = "10,12,23,24,30,34,45,50";
  275. positions11 = "3,4,2,5,1";
  276. bridges11 = "12,13,14,20,25,35,45,40";
  277. positions12 = "3,4,5,2,1";
  278. bridges12 = "10,12,13,20,23,31,34,35,45,40,50";
  279. positions13 = "3,5,4,1,2";
  280. bridges13 = "10,12,15,20,23,34,45,40,50";
  281. positions14 = "5,3,4,1,2";
  282. bridges14 = "10,12,13,23,30,34,35,45,50";
  283. positions15 = "3,5,2,1,4";
  284. bridges15 = "10,12,20,23,24,34,40,45,50";
  285. positions16 = "4,1,5,3,2";
  286. bridges16 = "10,13,20,23,34,35,40,50";
  287. positions17 = "5,4,2,3,1";
  288. bridges17 = "12,13,15,20,24,30,35,40,45";
  289. positions18 = "3,5,4,1,2";
  290. bridges18 = "10,12,13,15,20,23,24,34,35,40,45,50";
  291. positions19 = "4,3,2,5,1";
  292. bridges19 = "13,14,15,20,25,30,35,40";
  293. positions20 = "2,5,4,1,3";
  294. bridges20 = "10,12,14,23,25,34,45,50";
  295. positions21 = "2,4,1,5,3";
  296. bridges21 = "01,05,12,13,14,25,35,45";
  297. positions22 = "5,4,2,1,3";
  298. bridges22 = "01,03,05,12,15,23,34,45";
  299. positions23 = "2,3,4,5,1";
  300. bridges23 = "01,03,05,14,23,24,25,34";
  301. positions24 = "5,4,1,2,3";
  302. bridges24 = "01,02,04,05,12,13,35,45";
  303. positions25 = "4,3,5,1,2";
  304. bridges25 = "02,04,13,14,15,24,25,35";
  305. positions26 = "5,1,4,3,2";
  306. bridges26 = "01,02,03,04,05,12,23,34,45";
  307. positions27 = "4,3,5,2,1";
  308. bridges27 = "02,03,04,12,13,24,35,45";
  309. positions28 = "5,1,4,2,3";
  310. bridges28 = "01,03,05,14,15,23,25,34";
  311. positions29 = "3,1,2,5,4";
  312. bridges29 = "02,03,04,13,14,24,25,35";
  313. positions30 = "3,4,5,1,2";
  314. bridges30 = "01,05,14,15,23,24,25,34";
  315. positions31 = "3,5,2,1,4";
  316. bridges31 = "01,05,12,15,23,34,45";
  317. positions32 = "4,3,5,2,1";
  318. bridges32 = "01,03,05,12,23,34,45";
  319. positions33 = "5,4,3,2,1";
  320. bridges33 = "01,05,12,15,23,24,34,45";
  321. positions34 = "5,4,1,3,2";
  322. bridges34 = "02,03,04,12,13,15,35,45";
  323. positions35 = "5,4,2,3,1";
  324. bridges35 = "01,05,12,13,23,34,35,45";
  325. positions36 = "2,3,4,5,1";
  326. bridges36 = "02,04,12,13,15,24,35,45";
  327. positions37 = "3,4,2,5,1";
  328. bridges37 = "01,03,05,14,23,25,34";
  329. positions38 = "4,3,5,2,1";
  330. bridges38 = "01,05,12,23,24,34,45";
  331. positions39 = "3,4,5,1,2";
  332. bridges39 = "01,05,13,14,24,25,35";
  333. positions40 = "5,3,2,1,4";
  334. bridges40 = "01,05,14,15,23,25,34";
  335. totalBoards = 40;
  336. this.createEmptyMovieClip("carMover",2000);
  337. top10Vars = new LoadVars();
  338. stop();
  339.