home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Puzzle / rickshaw-jam.swf / scripts / DefineSprite_233 / frame_3 / DoAction.as
Encoding:
Text File  |  2005-09-29  |  7.3 KB  |  313 lines

  1. function block_left(mn, tp)
  2. {
  3.    var _loc2_ = mn;
  4.    var _loc3_ = this;
  5.    if(_loc3_["vehicle" + _loc2_].vx == 0)
  6.    {
  7.       return 0;
  8.    }
  9.    var _loc1_ = _loc3_["vehicle" + _loc2_].vx - 1;
  10.    while(_loc1_ >= 0)
  11.    {
  12.       if(stage_array[_loc1_][_loc3_["vehicle" + _loc2_].vy] == 1)
  13.       {
  14.          return (_loc1_ + 1) * 36;
  15.       }
  16.       _loc1_ = _loc1_ - 1;
  17.    }
  18. }
  19. function block_top(mn, tp)
  20. {
  21.    var _loc2_ = mn;
  22.    var _loc3_ = this;
  23.    if(_loc3_["vehicle" + _loc2_].vy == 0)
  24.    {
  25.       return 0;
  26.    }
  27.    var _loc1_ = _loc3_["vehicle" + _loc2_].vy - 1;
  28.    while(_loc1_ >= 0)
  29.    {
  30.       if(stage_array[_loc3_["vehicle" + _loc2_].vx][_loc1_] == 1)
  31.       {
  32.          return (_loc1_ + 1) * 36;
  33.       }
  34.       _loc1_ = _loc1_ - 1;
  35.    }
  36.    return 0;
  37. }
  38. function block_right(mn, tp)
  39. {
  40.    var _loc2_ = mn;
  41.    var _loc3_ = this;
  42.    var startatx = 0;
  43.    var stepsfor = 0;
  44.    switch(tp)
  45.    {
  46.       case 1:
  47.       case 2:
  48.          startatx = _loc3_["vehicle" + _loc2_].vx + 2;
  49.          break;
  50.       case 3:
  51.          startatx = _loc3_["vehicle" + _loc2_].vx + 1;
  52.          break;
  53.       case 4:
  54.          startatx = _loc3_["vehicle" + _loc2_].vx + 3;
  55.          break;
  56.       case 5:
  57.          startatx = _loc3_["vehicle" + _loc2_].vx + 1;
  58.    }
  59.    if(startatx > 6)
  60.    {
  61.       return _loc3_["vehicle" + _loc2_].vx + 0;
  62.    }
  63.    var newstartx = 0;
  64.    var _loc1_ = startatx;
  65.    while(_loc1_ < 6)
  66.    {
  67.       yval = _loc3_["vehicle" + _loc2_].vy;
  68.       if(stage_array[_loc1_][yval] != 0)
  69.       {
  70.          break;
  71.       }
  72.       newstartx++;
  73.       _loc1_ = _loc1_ + 1;
  74.    }
  75.    if(tp == 1)
  76.    {
  77.       if(_loc3_["vehicle" + _loc2_].vx + newstartx == 4)
  78.       {
  79.          return (_loc3_["vehicle" + _loc2_].vx + newstartx + 1) * 36;
  80.       }
  81.    }
  82.    return (_loc3_["vehicle" + _loc2_].vx + newstartx) * 36;
  83. }
  84. function block_bottom(mn, tp)
  85. {
  86.    var _loc2_ = mn;
  87.    var _loc3_ = this;
  88.    var startaty = 0;
  89.    var stepsfor = 0;
  90.    switch(tp)
  91.    {
  92.       case 1:
  93.       case 2:
  94.          startaty = _loc3_["vehicle" + _loc2_].vy + 1;
  95.          break;
  96.       case 3:
  97.          startaty = _loc3_["vehicle" + _loc2_].vy + 2;
  98.          break;
  99.       case 4:
  100.          startaty = _loc3_["vehicle" + _loc2_].vy + 1;
  101.          break;
  102.       case 5:
  103.          startaty = _loc3_["vehicle" + _loc2_].vy + 3;
  104.    }
  105.    if(startaty > 6)
  106.    {
  107.       return _loc3_["vehicle" + _loc2_].vy + 0;
  108.    }
  109.    var newstarty = 0;
  110.    var _loc1_ = startaty;
  111.    while(_loc1_ < 6)
  112.    {
  113.       xval = _loc3_["vehicle" + _loc2_].vx;
  114.       gridvalue = stage_array[xval][_loc1_];
  115.       if(gridvalue != 0)
  116.       {
  117.          break;
  118.       }
  119.       newstarty++;
  120.       _loc1_ = _loc1_ + 1;
  121.    }
  122.    return (_loc3_["vehicle" + _loc2_].vy + newstarty) * 36;
  123. }
  124. function Clicked(mn, tp)
  125. {
  126.    var _loc1_ = mn;
  127.    var _loc2_ = tp;
  128.    var _loc3_ = this;
  129.    if(_root.flag == true)
  130.    {
  131.       if(_loc2_ == 1 || _loc2_ == 2 || _loc2_ == 4)
  132.       {
  133.          toplimit = _loc3_["vehicle" + _loc1_]._y;
  134.          bottomlimit = _loc3_["vehicle" + _loc1_]._y;
  135.          leftlimit = block_left(_loc1_,_loc2_);
  136.          rightlimit = block_right(_loc1_,_loc2_);
  137.       }
  138.       else
  139.       {
  140.          leftlimit = _loc3_["vehicle" + _loc1_]._x;
  141.          rightlimit = _loc3_["vehicle" + _loc1_]._x;
  142.          toplimit = block_top(_loc1_,_loc2_);
  143.          bottomlimit = block_bottom(_loc1_,_loc2_);
  144.       }
  145.       _loc3_["vehicle" + _loc1_].startDrag(false,leftlimit,toplimit,rightlimit,bottomlimit);
  146.    }
  147. }
  148. function Released(mn, tp)
  149. {
  150.    var _loc1_ = this;
  151.    var _loc2_ = mn;
  152.    if(_root.flag == true)
  153.    {
  154.       _loc1_["vehicle" + _loc2_].stopDrag();
  155.       newvx = Math.floor(_loc1_["vehicle" + _loc2_]._x / 36);
  156.       newvy = Math.floor(_loc1_["vehicle" + _loc2_]._y / 36);
  157.       _loc1_["vehicle" + _loc2_].vx = newvx;
  158.       _loc1_["vehicle" + _loc2_].vy = newvy;
  159.       _loc1_["vehicle" + _loc2_]._x = newvx * 36;
  160.       _loc1_["vehicle" + _loc2_]._y = newvy * 36;
  161.       adjust_stage();
  162.       Moves++;
  163.       txtMoves.text = Moves;
  164.       if(tp == 1 && _loc1_["vehicle" + _loc2_].vx == 5)
  165.       {
  166.          gameOn = false;
  167.          single_stages[fstandard] = true;
  168.          _loc1_["thelevel" + fstandard].marker._visible = true;
  169.          total_stages++;
  170.          if(total_stages == 50)
  171.          {
  172.             next_stage._visible = false;
  173.          }
  174.          total_score += 200;
  175.          if(Moves < 50)
  176.          {
  177.             total_score += 100 - 2 * Moves;
  178.          }
  179.          txtScore.text = total_score;
  180.          next_stage.gotoAndStop(2);
  181.       }
  182.    }
  183. }
  184. function adjust_stage()
  185. {
  186.    var _loc3_ = this;
  187.    var _loc2_ = 0;
  188.    while(_loc2_ < 6)
  189.    {
  190.       var _loc1_ = 0;
  191.       while(_loc1_ < 6)
  192.       {
  193.          stage_array[_loc2_][_loc1_] = 0;
  194.          _loc1_ = _loc1_ + 1;
  195.       }
  196.       _loc2_ = _loc2_ + 1;
  197.    }
  198.    _loc2_ = 0;
  199.    while(_loc2_ < totalvehicles)
  200.    {
  201.       veh = _loc3_["vehicle" + _loc2_];
  202.       switch(veh._currentframe)
  203.       {
  204.          case 1:
  205.          case 2:
  206.             stage_array[veh.vx][veh.vy] = 1;
  207.             stage_array[veh.vx + 1][veh.vy] = 1;
  208.             break;
  209.          case 3:
  210.             stage_array[veh.vx][veh.vy] = 1;
  211.             stage_array[veh.vx][veh.vy + 1] = 1;
  212.             break;
  213.          case 4:
  214.             stage_array[veh.vx][veh.vy] = 1;
  215.             stage_array[veh.vx + 1][veh.vy] = 1;
  216.             stage_array[veh.vx + 2][veh.vy] = 1;
  217.             break;
  218.          case 5:
  219.             stage_array[veh.vx][veh.vy] = 1;
  220.             stage_array[veh.vx][veh.vy + 1] = 1;
  221.             stage_array[veh.vx][veh.vy + 2] = 1;
  222.             break;
  223.       }
  224.       _loc2_ = _loc2_ + 1;
  225.    }
  226. }
  227. function showGridData()
  228. {
  229.    var _loc2_ = 0;
  230.    while(_loc2_ < 6)
  231.    {
  232.       str = "";
  233.       var _loc1_ = 0;
  234.       while(_loc1_ < 6)
  235.       {
  236.          str += " " + stage_array[_loc1_][_loc2_];
  237.          _loc1_ = _loc1_ + 1;
  238.       }
  239.       _loc2_ = _loc2_ + 1;
  240.    }
  241. }
  242. function clearVehicles()
  243. {
  244.    var _loc1_ = 1;
  245.    while(_loc1_ < totalvehicles)
  246.    {
  247.       unloadMovie("vehicle" + _loc1_);
  248.       _loc1_ = _loc1_ + 1;
  249.    }
  250. }
  251. Moves = 0;
  252. next_stage.gotoAndStop(1);
  253. if(total_stages == 49)
  254. {
  255.    next_stage._visible = false;
  256. }
  257. yp = thelevel0._y;
  258. var l = 0;
  259. while(l < 50)
  260. {
  261.    if(l == 0)
  262.    {
  263.       thelevel = thelevel0;
  264.    }
  265.    else
  266.    {
  267.       thelevel = thelevel0.duplicateMovieClip("thelevel" + l,l + 500);
  268.       thelevel._x = thelevel0._x + l % 10 * thelevel0._width;
  269.       thelevel._visible = true;
  270.       if(l % 10 == 0)
  271.       {
  272.          yp += thelevel0._height;
  273.       }
  274.       thelevel._y = yp;
  275.    }
  276.    thelevel.txtNo.text = l + 1;
  277.    thelevel.marker._visible = single_stages[l];
  278.    l++;
  279. }
  280. var stage_array = new Array();
  281. var i = 0;
  282. while(i < 6)
  283. {
  284.    stage_array[i] = new Array(0,0,0,0,0,0);
  285.    i++;
  286. }
  287. txtLevel.text = fstandard + 1;
  288. txtMoves.text = Moves;
  289. var totalvehicles = stage[fstandard].length;
  290. var i = 0;
  291. while(i < totalvehicles)
  292. {
  293.    if(i > 0)
  294.    {
  295.       veh = vehicle0.duplicateMovieClip("vehicle" + i,i);
  296.    }
  297.    else
  298.    {
  299.       veh = vehicle0;
  300.    }
  301.    veh._visible = true;
  302.    veh.gotoAndStop(stage[fstandard][i].vtype);
  303.    veh.stop();
  304.    veh._x = stage[fstandard][i].vx * 36;
  305.    veh._y = stage[fstandard][i].vy * 36;
  306.    veh.vx = stage[fstandard][i].vx;
  307.    veh.vy = stage[fstandard][i].vy;
  308.    veh.carNumber = i;
  309.    i++;
  310. }
  311. adjust_stage();
  312. stop();
  313.