home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Esportes / VirtualCurling.swf / scripts / frame_136 / DoAction.as
Encoding:
Text File  |  2005-08-08  |  2.1 KB  |  76 lines

  1. function update_balls()
  2. {
  3.    ball = 1;
  4.    while(stone_in_use >= ball)
  5.    {
  6.       if(in_zone[ball])
  7.       {
  8.          if(!_level0.waiting)
  9.          {
  10.             if(Math.ABS(vx[ball]) + Math.ABS(vy[ball]) == 0)
  11.             {
  12.                lessy = 0;
  13.                lessx = 0;
  14.             }
  15.             else
  16.             {
  17.                lessy = Math.ABS(vy[ball]) / (Math.ABS(vx[ball]) + Math.ABS(vy[ball]));
  18.                lessx = Math.ABS(vx[ball]) / (Math.ABS(vx[ball]) + Math.ABS(vy[ball]));
  19.             }
  20.             if(0 < Vx[ball])
  21.             {
  22.                vx[ball] -= _level0.friction * lessx;
  23.             }
  24.             else
  25.             {
  26.                vx[ball] += _level0.friction * lessx;
  27.             }
  28.             if(0 < Vy[ball])
  29.             {
  30.                vy[ball] -= _level0.friction * lessy;
  31.             }
  32.             else
  33.             {
  34.                vy[ball] += _level0.friction * lessy;
  35.             }
  36.             if(Math.abs(vx[ball]) < ballstop and Math.abs(vy[ball]) < ballstop)
  37.             {
  38.                vy[ball] = 0;
  39.                vx[ball] = 0;
  40.             }
  41.             realx[ball] += vx[ball];
  42.             realy[ball] += vy[ball];
  43.             thisball = eval("stone" + ball);
  44.             thisball._x = realx[ball];
  45.             thisball._y = zoom_origin_y - realy[ball];
  46.             check_walls(ball);
  47.          }
  48.       }
  49.       ball++;
  50.    }
  51. }
  52. function check_walls()
  53. {
  54.    if(Zoox2 - 12 < realx[ball] or realx[ball] < Zoox1 + 12 or 400 - zooy3 - 12.5 < realy[ball])
  55.    {
  56.       trace("***********gone out !***************");
  57.       stone_status[ball] = "crossed";
  58.       stoneboard.display_stones();
  59.       realx[ball] = -9999 * ball;
  60.       realy[ball] = -9999 * ball;
  61.       thisball = eval("stone" + ball);
  62.       thisball._x = realx[ball];
  63.       thisball._y = zoom_origin_y - realy[ball];
  64.       vx[ball] = 0;
  65.       vy[ball] = 0;
  66.       in_zone[ball] = false;
  67.    }
  68. }
  69. update_balls();
  70. yscaledy = realy[1] * -60 / 400 + 60;
  71. degrees = (- (yscaledy - 317)) * 180 / 282;
  72. if(allstillc < balls)
  73. {
  74.    gotoAndPlay(135);
  75. }
  76.