home *** CD-ROM | disk | FTP | other *** search
/ 600 Games / 600games.iso / Classicos / TetrolLapse.swf / scripts / frame_1 / DoAction.as
Encoding:
Text File  |  2005-08-05  |  37.8 KB  |  1,059 lines

  1. function AddExplode(p_GemNumber)
  2. {
  3.    var Index = 9999;
  4.    var i = 1;
  5.    while(i <= NumExplodes)
  6.    {
  7.       if(!this["ExplodeBlock" + i]._visible)
  8.       {
  9.          Index = i;
  10.          break;
  11.       }
  12.       i++;
  13.    }
  14.    if(Index == 9999)
  15.    {
  16.       NumExplodes++;
  17.       Index = NumExplodes;
  18.    }
  19.    else
  20.    {
  21.       this["ExplodeBlock" + Index]._visible = false;
  22.       removeMovieClip("ExplodeBlock" + Index);
  23.    }
  24.    duplicateMovieClip("Box" + this["FieldBox" + p_GemNumber]._Color,"ExplodeBlock" + Index,16384 + (600 + Index));
  25.    this["ExplodeBlock" + Index]._x = this["FieldBox" + p_GemNumber]._x;
  26.    this["ExplodeBlock" + Index]._y = this["FieldBox" + p_GemNumber]._y;
  27.    this["ExplodeBlock" + Index]._NetPosX = this["FieldBox" + p_GemNumber]._NetPosX;
  28.    this["ExplodeBlock" + Index]._NetPosY = this["FieldBox" + p_GemNumber]._NetPosY;
  29.    this["ExplodeBlock" + Index]._MustPosY = this["FieldBox" + p_GemNumber]._y;
  30.    this["ExplodeBlock" + Index]._Color = this["FieldBox" + p_GemNumber]._Color;
  31.    this["ExplodeBlock" + Index]._visible = true;
  32.    this["ExplodeBlock" + Index]._DieTimer = 10;
  33.    this["ExplodeBlock" + Index].GotoAndPlay(2);
  34. }
  35. function UpdateExplodes()
  36. {
  37.    var HaveVisible = false;
  38.    var i = 1;
  39.    while(i <= NumExplodes)
  40.    {
  41.       if(this["ExplodeBlock" + i]._visible)
  42.       {
  43.          HaveVisible = true;
  44.          this["ExplodeBlock" + i]._DieTimer--;
  45.          if(this["ExplodeBlock" + i]._DieTimer <= 0)
  46.          {
  47.             this["ExplodeBlock" + i]._visible = false;
  48.          }
  49.       }
  50.       i++;
  51.    }
  52.    if(!HaveVisible)
  53.    {
  54.       var i = 1;
  55.       while(i <= NumExplodes)
  56.       {
  57.          this["ExplodeBlock" + i]._visible = false;
  58.          removeMovieClip("ExplodeBlock" + i);
  59.          i++;
  60.       }
  61.       NumExplodes = 0;
  62.    }
  63. }
  64. function EmptyArrayNet()
  65. {
  66.    var i = 0;
  67.    while(i <= FieldSizeX)
  68.    {
  69.       var j = 0;
  70.       while(j <= FieldSizeY)
  71.       {
  72.          SetArrayNetValue(i,j,9999);
  73.          j++;
  74.       }
  75.       i++;
  76.    }
  77. }
  78. function GetArrayNetValue(pNetX, pNetY)
  79. {
  80.    return ArrayNet[pNetX + (pNetY - 1) * FieldSizeX];
  81. }
  82. function SetArrayNetValue(pNetX, pNetY, pValue)
  83. {
  84.    ArrayNet[pNetX + (pNetY - 1) * FieldSizeX] = pValue;
  85. }
  86. function ConvNetPosToPosX(pNetX)
  87. {
  88.    return OtstupX + pNetX * Box1._width;
  89. }
  90. function ConvNetPosToPosY(pNetY)
  91. {
  92.    return OtstupY + pNetY * Box1._height;
  93. }
  94. function ConvPosToNetPosX(pPosX)
  95. {
  96.    return Math.round((pPosX - OtstupX) / Box1._width);
  97. }
  98. function ConvPosToNetPosY(pPosY)
  99. {
  100.    return Math.round((pPosY - OtstupY) / Box1._height);
  101. }
  102. function ConvFigureNetPosToPosX()
  103. {
  104.    FigurePosX = ConvNetPosToPosX(FigureNetPosX);
  105. }
  106. function ConvFigureNetPosToPosY()
  107. {
  108.    FigurePosY = ConvNetPosToPosY(FigureNetPosY);
  109. }
  110. function ConvFigurePosToNetPosX()
  111. {
  112.    FigureNetPosX = ConvPosToNetPosX(FigurePosX);
  113. }
  114. function ConvFigurePosToNetPosY()
  115. {
  116.    FigureNetPosY = ConvPosToNetPosY(FigurePosY);
  117. }
  118. function AddBoxOnField(pNetPosX, pNetPosY, pColor)
  119. {
  120.    var Index = 9999;
  121.    var i = 1;
  122.    while(i <= NumFieldBoxes)
  123.    {
  124.       if(!this["FieldBox" + i]._visible)
  125.       {
  126.          Index = i;
  127.          break;
  128.       }
  129.       i++;
  130.    }
  131.    if(Index == 9999)
  132.    {
  133.       NumFieldBoxes++;
  134.       Index = NumFieldBoxes;
  135.    }
  136.    else
  137.    {
  138.       this["FieldBox" + i]._visible = false;
  139.       removeMovieClip("FieldBox" + Index);
  140.    }
  141.    duplicateMovieClip("Box" + pColor,"FieldBox" + Index,16384 + (200 + Index));
  142.    this["FieldBox" + Index]._x = ConvNetPosToPosX(pNetPosX);
  143.    this["FieldBox" + Index]._y = ConvNetPosToPosY(pNetPosY);
  144.    this["FieldBox" + Index]._NetPosX = pNetPosX;
  145.    this["FieldBox" + Index]._NetPosY = pNetPosY;
  146.    this["FieldBox" + Index]._MustPosY = this["FieldBox" + Index]._y;
  147.    this["FieldBox" + Index]._Color = pColor;
  148.    SetArrayNetValue(pNetPosX,pNetPosY,Index);
  149. }
  150. function DeleteBoxOnField(pNumber)
  151. {
  152.    AddExplode(pNumber);
  153.    this["FieldBox" + pNumber]._visible = false;
  154.    SetArrayNetValue(this["FieldBox" + pNumber]._NetPosX,this["FieldBox" + pNumber]._NetPosY,9999);
  155. }
  156. function DeleteBoxAllField()
  157. {
  158.    var i = 1;
  159.    while(i <= NumFieldBoxes)
  160.    {
  161.       if(this["FieldBox" + i]._visible)
  162.       {
  163.          this["FieldBox" + i]._visible = false;
  164.          SetArrayNetValue(this["FieldBox" + i]._NetPosX,this["FieldBox" + i]._NetPosY,9999);
  165.       }
  166.       i++;
  167.    }
  168.    var i = 1;
  169.    while(i <= NumFieldBoxes)
  170.    {
  171.       removeMovieClip("FieldBox" + i);
  172.       i++;
  173.    }
  174.    NumFieldBoxes = 0;
  175. }
  176. function CheckFigureStop()
  177. {
  178.    if(FigureNetPosY + GetFigureHeight() > FieldSizeY - 1)
  179.    {
  180.       if(FigurePosY > ConvNetPosToPosY(FigureNetPosY) - 6)
  181.       {
  182.          SetFigureToField();
  183.          CreateFigure(NextFigureNumber,FigureColor);
  184.          CreateRandomNextFigure(NextFigureColor);
  185.          DrawNextFigure();
  186.          FigureNetPosX = 4;
  187.          ConvFigureNetPosToPosX(FigureNetPosX);
  188.          FigureNetPosY = 0;
  189.          ConvFigureNetPosToPosY(FigureNetPosY);
  190.          if(!CheckFigureOkPosition())
  191.          {
  192.             ShowGameOver();
  193.             return undefined;
  194.          }
  195.       }
  196.    }
  197.    var i = 0;
  198.    while(i < NumberBoxesInFigure)
  199.    {
  200.       if(FigureNetPosY + CurFigure[i * 2 + 1] + 1 < FieldSizeY)
  201.       {
  202.          if(FigurePosY > ConvNetPosToPosY(FigureNetPosY) - 1)
  203.          {
  204.             if(GetArrayNetValue(FigureNetPosX + CurFigure[i * 2],FigureNetPosY + CurFigure[i * 2 + 1] + 1) != 9999)
  205.             {
  206.                SetFigureToField();
  207.                CreateFigure(NextFigureNumber,FigureColor);
  208.                CreateRandomNextFigure(NextFigureColor);
  209.                DrawNextFigure();
  210.                FigureNetPosX = 4;
  211.                ConvFigureNetPosToPosX(FigureNetPosX);
  212.                FigureNetPosY = 0;
  213.                ConvFigureNetPosToPosY(FigureNetPosY);
  214.                if(!CheckFigureOkPosition())
  215.                {
  216.                   ShowGameOver();
  217.                   return undefined;
  218.                }
  219.             }
  220.          }
  221.       }
  222.       i++;
  223.    }
  224. }
  225. function SetFigureToField()
  226. {
  227.    if(_root.SoundOn)
  228.    {
  229.       _root.SoundStopFigure.start();
  230.    }
  231.    var i = 0;
  232.    while(i < NumberBoxesInFigure)
  233.    {
  234.       AddBoxOnField(FigureNetPosX + CurFigure[i * 2],FigureNetPosY + CurFigure[i * 2 + 1],FigureColor);
  235.       i++;
  236.    }
  237.    bStopFigure = true;
  238. }
  239. function CheckFigureOkPosition()
  240. {
  241.    if(FigureNetPosX + GetFigureStartX() < 0)
  242.    {
  243.       FigureNetPosX = - GetFigureStartX();
  244.    }
  245.    if(FigureNetPosX + GetFigureWidth() > 10)
  246.    {
  247.       FigureNetPosX = 10 - GetFigureWidth();
  248.    }
  249.    DrawFigure();
  250.    var i = 0;
  251.    while(i < NumberBoxesInFigure)
  252.    {
  253.       if(GetArrayNetValue(FigureNetPosX + CurFigure[i * 2],FigureNetPosY + CurFigure[i * 2 + 1]) != 9999)
  254.       {
  255.          return false;
  256.       }
  257.       i++;
  258.    }
  259.    return true;
  260. }
  261. function SeekForTheFullLine()
  262. {
  263.    var i = 0;
  264.    while(i < FieldSizeY)
  265.    {
  266.       b = true;
  267.       var j = 0;
  268.       while(j < FieldSizeX)
  269.       {
  270.          if(GetArrayNetValue(j,i) == 9999)
  271.          {
  272.             b = false;
  273.          }
  274.          j++;
  275.       }
  276.       if(b)
  277.       {
  278.          return i;
  279.       }
  280.       i++;
  281.    }
  282.    return 9999;
  283. }
  284. function DeleteLine(pLineNumber)
  285. {
  286.    Score += 1000 * ScoreMultiplier;
  287.    Lines++;
  288.    if(_root.SoundOn)
  289.    {
  290.       _root.SoundExplodeLine.start();
  291.    }
  292.    var j = 0;
  293.    while(j < FieldSizeX)
  294.    {
  295.       DeleteBoxOnField(GetArrayNetValue(j,pLineNumber));
  296.       j++;
  297.    }
  298.    GetMoveLineDownBlocks(pLineNumber);
  299. }
  300. function GetMoveLineDownBlocks(pLineNumber)
  301. {
  302.    if(pLineNumber <= 0 || pLineNumber > FieldSizeY)
  303.    {
  304.       return undefined;
  305.    }
  306.    var i = pLineNumber - 1;
  307.    while(i >= 0)
  308.    {
  309.       var j = 0;
  310.       while(j < FieldSizeX)
  311.       {
  312.          if(GetArrayNetValue(j,i) != 9999)
  313.          {
  314.             AddToArrayMoveDown(GetArrayNetValue(j,i));
  315.          }
  316.          j++;
  317.       }
  318.       i--;
  319.    }
  320. }
  321. function AddToArrayMoveDown(pBlock)
  322. {
  323.    var Index = 9999;
  324.    var i = 0;
  325.    while(i < ArrayMoveDown.length)
  326.    {
  327.       if(ArrayMoveDown[i] == pBlock)
  328.       {
  329.          Index = i;
  330.       }
  331.       i++;
  332.    }
  333.    if(Index == 9999)
  334.    {
  335.       ArrayMoveDown.push(pBlock);
  336.       Index = ArrayMoveDown.length - 1;
  337.    }
  338.    SetArrayNetValue(this["FieldBox" + pBlock]._NetPosX,this["FieldBox" + pBlock]._NetPosY + 1,pBlock);
  339.    this["FieldBox" + pBlock]._MustPosY += 24;
  340.    SetArrayNetValue(this["FieldBox" + pBlock]._NetPosX,this["FieldBox" + pBlock]._NetPosY,9999);
  341. }
  342. function UpdateArrayMoveDown()
  343. {
  344.    var i;
  345.    i = 0;
  346.    while(i < ArrayMoveDown.length)
  347.    {
  348.       bFinishLineDown = true;
  349.       this["FieldBox" + ArrayMoveDown[i]]._y += 5;
  350.       if(this["FieldBox" + ArrayMoveDown[i]]._y > this["FieldBox" + ArrayMoveDown[i]]._MustPosY)
  351.       {
  352.          this["FieldBox" + ArrayMoveDown[i]]._y = this["FieldBox" + ArrayMoveDown[i]]._MustPosY;
  353.          this["FieldBox" + ArrayMoveDown[i]]._NetPosY = ConvPosToNetPosY(this["FieldBox" + ArrayMoveDown[i]]._y);
  354.          SetArrayNetValue(this["FieldBox" + ArrayMoveDown[i]]._NetPosX,this["FieldBox" + ArrayMoveDown[i]]._NetPosY,ArrayMoveDown[i]);
  355.          ArrayMoveDown.splice(i,1);
  356.          i--;
  357.       }
  358.       i++;
  359.    }
  360. }
  361. function LoadLevel(pLevelNumber)
  362. {
  363.    DeleteBoxAllField();
  364.    EmptyArrayNet();
  365.    FigureNetPosX = 4;
  366.    ConvFigureNetPosToPosX(FigureNetPosX);
  367.    FigureNetPosY = 0;
  368.    ConvFigureNetPosToPosY(FigureNetPosY);
  369.    CreateRandomFigure(FigureColor);
  370.    ConvFigureNetPosToPos();
  371.    DrawFigure();
  372.    CreateRandomNextFigure(NextFigureColor);
  373.    DrawNextFigure();
  374.    var i = 1;
  375.    while(i <= NumExplodes)
  376.    {
  377.       this["ExplodeBlock" + i]._visible = false;
  378.       i++;
  379.    }
  380.    ArrayMoveDown.splice(0);
  381.    LevelNet = this["LevelNet" + pLevelNumber];
  382.    var j = 0;
  383.    while(j <= FieldSizeY)
  384.    {
  385.       var i = 1;
  386.       while(i <= FieldSizeX)
  387.       {
  388.          if(LevelNet[i - 1 + j * FieldSizeX] != 0)
  389.          {
  390.             AddBoxOnField(i - 1,j,LevelNet[i - 1 + j * FieldSizeX]);
  391.          }
  392.          i++;
  393.       }
  394.       j++;
  395.    }
  396. }
  397. function IsLevelLost()
  398. {
  399.    var i = 1;
  400.    while(i <= FieldSizeX)
  401.    {
  402.       if(GetArrayNetValue(i,0) != 9999)
  403.       {
  404.          return true;
  405.       }
  406.       i++;
  407.    }
  408.    return false;
  409. }
  410. function IsLevelFinished()
  411. {
  412.    var j = 0;
  413.    while(j <= FieldSizeY)
  414.    {
  415.       var i = 1;
  416.       while(i <= FieldSizeX)
  417.       {
  418.          if(GetArrayNetValue(i,j) != 9999)
  419.          {
  420.             if(this["FieldBox" + GetArrayNetValue(i,j)]._Color != 1)
  421.             {
  422.                return false;
  423.             }
  424.          }
  425.          i++;
  426.       }
  427.       j++;
  428.    }
  429.    return true;
  430. }
  431. function CreateFigure(pFigureNumber, pColor)
  432. {
  433.    var i = 0;
  434.    while(i < NumberBoxesInFigure)
  435.    {
  436.       this["FigureBox" + i]._visible = false;
  437.       removeMovieClip("FigureBox" + i);
  438.       i++;
  439.    }
  440.    pRotate = 1;
  441.    FigureNumber = pFigureNumber;
  442.    CurFigure = this["Figure" + FigureNumber + 1];
  443.    NumberBoxesInFigure = CurFigure.length / 2;
  444.    var i = 0;
  445.    while(i < NumberBoxesInFigure)
  446.    {
  447.       duplicateMovieClip("Box" + pColor,"FigureBox" + i,16384 + (100 + i));
  448.       this["FigureBox" + i]._x = 10000;
  449.       i++;
  450.    }
  451. }
  452. function CreateRandomFigure(pColor)
  453. {
  454.    rand_val = random(num_figures) + 1;
  455.    CreateFigure(rand_val,pColor);
  456. }
  457. function DrawFigure()
  458. {
  459.    CurFigure = this["Figure" + FigureNumber + pRotate];
  460.    var i = 0;
  461.    while(i < NumberBoxesInFigure)
  462.    {
  463.       this["FigureBox" + i]._x = FigurePosX + CurFigure[i * 2] * this["FigureBox" + i]._width;
  464.       this["FigureBox" + i]._y = FigurePosY + CurFigure[i * 2 + 1] * this["FigureBox" + i]._height;
  465.       i++;
  466.    }
  467. }
  468. function GetFigureWidth()
  469. {
  470.    result = 0;
  471.    var i = 0;
  472.    while(i < NumberBoxesInFigure)
  473.    {
  474.       if(CurFigure[i * 2] > result)
  475.       {
  476.          result = CurFigure[i * 2];
  477.       }
  478.       i++;
  479.    }
  480.    return result + 1;
  481. }
  482. function GetFigureHeight()
  483. {
  484.    result = 0;
  485.    var i = 0;
  486.    while(i < NumberBoxesInFigure)
  487.    {
  488.       if(CurFigure[i * 2 + 1] > result)
  489.       {
  490.          result = CurFigure[i * 2 + 1];
  491.       }
  492.       i++;
  493.    }
  494.    return result + 1;
  495. }
  496. function GetFigureStartX()
  497. {
  498.    result = 3;
  499.    var i = 0;
  500.    while(i < NumberBoxesInFigure)
  501.    {
  502.       if(CurFigure[i * 2] < result)
  503.       {
  504.          result = CurFigure[i * 2];
  505.       }
  506.       i++;
  507.    }
  508.    return result;
  509. }
  510. function CreateNextFigure(pFigureNumber, pColor)
  511. {
  512.    var i = 0;
  513.    while(i < NumberBoxesInNextFigure)
  514.    {
  515.       this["NextFigureBox" + i]._visible = false;
  516.       removeMovieClip("NextFigureBox" + i);
  517.       i++;
  518.    }
  519.    NextFigureNumber = pFigureNumber;
  520.    NextFigure = this["Figure" + NextFigureNumber + 1];
  521.    NumberBoxesInNextFigure = NextFigure.length / 2;
  522.    var i = 0;
  523.    while(i < NumberBoxesInNextFigure)
  524.    {
  525.       duplicateMovieClip("Box" + pColor,"NextFigureBox" + i,16384 + (120 + i));
  526.       this["NextFigureBox" + i]._x = 10000;
  527.       i++;
  528.    }
  529. }
  530. function CreateRandomNextFigure(pColor)
  531. {
  532.    rand_val = random(num_figures) + 1;
  533.    CreateNextFigure(rand_val,pColor);
  534. }
  535. function DrawNextFigure()
  536. {
  537.    NextFigure = this["Figure" + NextFigureNumber + 1];
  538.    var off_x = 500;
  539.    var off_y = 100;
  540.    if(NextFigureNumber == 1)
  541.    {
  542.       off_x = 510;
  543.       off_y = 100;
  544.    }
  545.    if(NextFigureNumber == 2)
  546.    {
  547.       off_x = 510;
  548.       off_y = 100;
  549.    }
  550.    if(NextFigureNumber == 3)
  551.    {
  552.       off_x = 520;
  553.       off_y = 100;
  554.    }
  555.    if(NextFigureNumber == 4)
  556.    {
  557.       off_x = 500;
  558.       off_y = 100;
  559.    }
  560.    if(NextFigureNumber == 5)
  561.    {
  562.       off_x = 510;
  563.       off_y = 100;
  564.    }
  565.    if(NextFigureNumber == 6)
  566.    {
  567.       off_x = 510;
  568.       off_y = 100;
  569.    }
  570.    if(NextFigureNumber == 7)
  571.    {
  572.       off_x = 510;
  573.       off_y = 100;
  574.    }
  575.    var i = 0;
  576.    while(i < NumberBoxesInNextFigure)
  577.    {
  578.       this["NextFigureBox" + i]._x = off_x + NextFigure[i * 2] * this["NextFigureBox" + i]._width;
  579.       this["NextFigureBox" + i]._y = off_y + NextFigure[i * 2 + 1] * this["NextFigureBox" + i]._height;
  580.       i++;
  581.    }
  582. }
  583. function ShowMainMenu()
  584. {
  585.    PlayAreaOff();
  586.    _root.DialogMode = true;
  587.    _root.WindowMainMenu1._visible = true;
  588. }
  589. function ShowGameOver()
  590. {
  591.    if(_root.SoundOn)
  592.    {
  593.       _root.SoundGameOver.start();
  594.    }
  595.    _root.DialogMode = true;
  596.    _root.WindowGameOver1._visible = true;
  597.    _root.GameLost = true;
  598. }
  599. function ShowHelp1()
  600. {
  601.    _root.DialogMode = true;
  602.    _root.WindowHelp1._visible = true;
  603. }
  604. function ShowAreYouSureWindow(p_Mode)
  605. {
  606.    _root.DialogMode = true;
  607.    _root.WindowAreYouSure1._visible = true;
  608.    _root.AYSmode = p_Mode;
  609. }
  610. function ShowQuitTheGame()
  611. {
  612.    _root.DialogMode = true;
  613.    _root.WindowQuitTheGame1._visible = true;
  614. }
  615. function ShowWindowYouWin()
  616. {
  617.    _root.DialogMode = true;
  618.    _root.WindowYouWin1._visible = true;
  619. }
  620. function ShowWindowLevelComplete()
  621. {
  622.    _root.DialogMode = true;
  623.    _root.WindowLevelComplete1._visible = true;
  624. }
  625. function PlayAreaOn()
  626. {
  627.    _root.ButtonAbortGame._visible = true;
  628.    _root.ButtonMoreGames._visible = true;
  629.    if(!IsGamePaused)
  630.    {
  631.       _root.ButtonPause._visible = true;
  632.       _root.ButtonResume._visible = false;
  633.    }
  634.    if(IsGamePaused)
  635.    {
  636.       _root.ButtonResume._visible = true;
  637.       _root.ButtonPause._visible = false;
  638.    }
  639.    _root.ButtonRestart._visible = true;
  640.    if(IsSoundOn)
  641.    {
  642.       _root.ButtonSoundOn._visible = true;
  643.    }
  644.    else
  645.    {
  646.       _root.ButtonSoundOn._visible = false;
  647.    }
  648.    if(IsSoundOn)
  649.    {
  650.       _root.ButtonSoundOff._visible = false;
  651.    }
  652.    else
  653.    {
  654.       _root.ButtonSoundOff._visible = true;
  655.    }
  656. }
  657. function PlayAreaOff()
  658. {
  659.    _root.ButtonAbortGame._visible = false;
  660.    _root.ButtonPause._visible = false;
  661.    _root.ButtonResume._visible = false;
  662.    _root.ButtonRestart._visible = false;
  663.    _root.ButtonMoreGames._visible = false;
  664.    _root.ButtonSoundOn._visible = false;
  665.    _root.ButtonSoundOff._visible = false;
  666. }
  667. function PauseOn()
  668. {
  669.    _root.IsGamePaused = true;
  670.    _root.ButtonPause._visible = false;
  671.    _root.ButtonResume._visible = true;
  672.    _root.Paused1._visible = true;
  673. }
  674. function PauseOff()
  675. {
  676.    _root.IsGamePaused = false;
  677.    _root.ButtonPause._visible = true;
  678.    _root.ButtonResume._visible = false;
  679.    _root.Paused1._visible = false;
  680. }
  681. function StartNewGame()
  682. {
  683.    EmptyArrayNet();
  684.    CreateRandomFigure(FigureColor);
  685.    ConvFigureNetPosToPos();
  686.    DrawFigure();
  687.    CreateRandomNextFigure(NextFigureColor);
  688.    DrawNextFigure();
  689.    LoadLevel(CurLevel);
  690.    DialogMode = false;
  691.    _root.WindowMainMenu1._visible = false;
  692. }
  693. function UpdateGame()
  694. {
  695.    PauseDelay--;
  696.    if(PauseDelay < 0)
  697.    {
  698.       PauseDelay = 0;
  699.    }
  700.    if(Key.isDown(80))
  701.    {
  702.       if(PauseDelay <= 0)
  703.       {
  704.          if(!IsGamePaused)
  705.          {
  706.             _root.PauseOn();
  707.          }
  708.          else
  709.          {
  710.             _root.PauseOff();
  711.          }
  712.          PauseDelay = 5;
  713.       }
  714.    }
  715.    if(IsGamePaused)
  716.    {
  717.       return undefined;
  718.    }
  719.    SavedFigureNetPosX = FigureNetPosX;
  720.    SavedFigureNetPosY = FigureNetPosY;
  721.    SavedpRotate = pRotate;
  722.    RotatePause--;
  723.    MovePause--;
  724.    if(Key.isDown(40))
  725.    {
  726.       FigurePosY += 10;
  727.       ConvFigurePosToNetPosY();
  728.       if(!CheckFigureOkPosition())
  729.       {
  730.          FigurePosY -= 10;
  731.          ConvFigurePosToNetPosY();
  732.          DrawFigure();
  733.       }
  734.    }
  735.    FigurePosY += 2;
  736.    ConvFigureNetPosToPosX();
  737.    ConvFigurePosToNetPosY();
  738.    DrawFigure();
  739.    if(MovePause <= 0)
  740.    {
  741.       if(Key.isDown(39))
  742.       {
  743.          if(_root.SoundOn)
  744.          {
  745.             _root.SoundMove.start();
  746.          }
  747.          FigureNetPosX++;
  748.          DrawFigure();
  749.          if(!CheckFigureOkPosition())
  750.          {
  751.             FigureNetPosX = SavedFigureNetPosX;
  752.             DrawFigure();
  753.          }
  754.          MovePause = 2;
  755.       }
  756.    }
  757.    if(MovePause <= 0)
  758.    {
  759.       if(Key.isDown(37))
  760.       {
  761.          if(_root.SoundOn)
  762.          {
  763.             _root.SoundMove.start();
  764.          }
  765.          FigureNetPosX--;
  766.          DrawFigure();
  767.          if(!CheckFigureOkPosition())
  768.          {
  769.             FigureNetPosX = SavedFigureNetPosX;
  770.             DrawFigure();
  771.          }
  772.          MovePause = 2;
  773.       }
  774.    }
  775.    if(Key.isDown(32) || Key.isDown(38))
  776.    {
  777.       if(RotatePause < 0)
  778.       {
  779.          if(_root.SoundOn)
  780.          {
  781.             _root.SoundRotate.start();
  782.          }
  783.          RotatePause = 4;
  784.          pRotate++;
  785.          if(pRotate > 4)
  786.          {
  787.             pRotate = 1;
  788.          }
  789.          DrawFigure();
  790.          if(!CheckFigureOkPosition())
  791.          {
  792.             pRotate = SavedpRotate;
  793.             FigureNetPosX = SavedFigureNetPosX;
  794.             DrawFigure();
  795.          }
  796.       }
  797.    }
  798.    ConvFigureNetPosToPosX();
  799.    ConvFigurePosToNetPosY();
  800.    DrawFigure();
  801.    CheckFigureStop();
  802.    if(ArrayMoveDown.length == 0)
  803.    {
  804.       if(bStopFigure || bFinishLineDown)
  805.       {
  806.          if(SeekForTheFullLine() != 9999)
  807.          {
  808.             DeleteLine(SeekForTheFullLine());
  809.             ScoreMultiplier++;
  810.          }
  811.          else
  812.          {
  813.             ScoreMultiplier = 1;
  814.          }
  815.       }
  816.       bStopFigure = false;
  817.       if(bFinishLineDown)
  818.       {
  819.          if(IsLevelFinished())
  820.          {
  821.             LastLines = Lines;
  822.             LastScore = Score;
  823.             CurLevel++;
  824.             if(_root.SoundOn)
  825.             {
  826.                _root.SoundLevelComplete.start();
  827.             }
  828.             if(CurLevel > TotalNumLevels)
  829.             {
  830.                ShowWindowYouWin();
  831.             }
  832.             if(CurLevel > TotalNumLevels)
  833.             {
  834.                CurLevel = 1;
  835.             }
  836.             LoadLevel(CurLevel);
  837.             ShowWindowLevelComplete();
  838.          }
  839.       }
  840.       bFinishLineDown = false;
  841.    }
  842.    UpdateArrayMoveDown();
  843.    if(EnableEscSkipLevel)
  844.    {
  845.       if(Key.isDown(27) || Key.isDown(17))
  846.       {
  847.          CurLevel++;
  848.          if(CurLevel > TotalNumLevels)
  849.          {
  850.             CurLevel = 1;
  851.          }
  852.          LoadLevel(CurLevel);
  853.       }
  854.    }
  855.    UpdateExplodes();
  856. }
  857. movieClip.prototype.NetPosX;
  858. movieClip.prototype.NetPosY;
  859. movieClip.prototype.MustPosY;
  860. movieClip.prototype.Color;
  861. movieClip.prototype.DieTimer;
  862. var DialogMode = false;
  863. var FigureNumber = 1;
  864. var NextFigureNumber = 1;
  865. var pRotate = 1;
  866. var NumberBoxesInFigure = 0;
  867. var NumberBoxesInNextFigure = 0;
  868. var CurFigure;
  869. var NextFigure;
  870. var FigureColor = 1;
  871. var NextFigureColor = 1;
  872. var FigurePosX = 210;
  873. var FigurePosY = 25;
  874. var FigureNetPosX = 0;
  875. var FigureNetPosY = 1;
  876. var OtstupX = 211;
  877. var OtstupY = 25;
  878. var FieldSizeX = 10;
  879. var FieldSizeY = 19;
  880. ArrayNet = new array(FieldSizeX * FieldSizeY * 2);
  881. var NumFieldBoxes = 0;
  882. var CurLevel = 1;
  883. var bFinishLineDown = false;
  884. var bStopFigure = false;
  885. ArrayMoveDown = new Array();
  886. var RotatePause = 3;
  887. var MovePause = 2;
  888. var SavedFigureNetPosX = 0;
  889. var SavedFigureNetPosY = 0;
  890. var SavedpRotate = 0;
  891. var IsGamePaused = false;
  892. var SoundOn = true;
  893. var DialogMode = false;
  894. var Score = 0;
  895. var LastScore = 0;
  896. var Lines = 0;
  897. var LastLines = 0;
  898. var AYSmode = 1;
  899. var ScoreMultiplier = 1;
  900. var PauseDelay = 3;
  901. var IsSoundOn = true;
  902. Box1._visible = false;
  903. Box2._visible = false;
  904. Box3._visible = false;
  905. Box4._visible = false;
  906. Box5._visible = false;
  907. Box6._visible = false;
  908. Box7._visible = false;
  909. Box8._visible = false;
  910. Box9._visible = false;
  911. Box10._visible = false;
  912. duplicateMovieClip(WindowHelp,"WindowHelp1",17386);
  913. WindowHelp._visible = false;
  914. WindowHelp1._visible = false;
  915. duplicateMovieClip(WindowMainMenu,"WindowMainMenu1",17385);
  916. WindowMainMenu._visible = false;
  917. WindowMainMenu1._visible = false;
  918. duplicateMovieClip(WindowYouWin,"WindowYouWin1",17387);
  919. WindowYouWin._visible = false;
  920. WindowYouWin1._visible = false;
  921. duplicateMovieClip(WindowGameOver,"WindowGameOver1",17388);
  922. WindowGameOver._visible = false;
  923. WindowGameOver1._visible = false;
  924. duplicateMovieClip(WindowAreYouSure,"WindowAreYouSure1",17389);
  925. WindowAreYouSure._visible = false;
  926. WindowAreYouSure1._visible = false;
  927. duplicateMovieClip(WindowLevelComplete,"WindowLevelComplete1",17390);
  928. WindowLevelComplete._visible = false;
  929. WindowLevelComplete1._visible = false;
  930. duplicateMovieClip(Paused,"Paused1",17404);
  931. Paused._visible = false;
  932. Paused1._visible = false;
  933. SoundClickButton = new Sound();
  934. SoundClickButton.attachSound("s_clickbutton");
  935. SoundRotate = new Sound();
  936. SoundRotate.attachSound("s_rotate");
  937. SoundMove = new Sound();
  938. SoundMove.attachSound("s_move");
  939. SoundStopFigure = new Sound();
  940. SoundStopFigure.attachSound("s_stopfigure");
  941. SoundExplodeLine = new Sound();
  942. SoundExplodeLine.attachSound("s_explodeline");
  943. SoundLevelComplete = new Sound();
  944. SoundLevelComplete.attachSound("s_levelcomplete");
  945. var LinkBuyNow = "http://www.regnow.com/softsell/nph-softsell.cgi?item=10025-3";
  946. var LinkMoreGames = "http://gameglade.com";
  947. var EnableEscSkipLevel = false;
  948. var NumExplodes = 0;
  949. var TotalNumLevels = 20;
  950. LevelNet1 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,2,2,0,3,0,0,0,0,0,0,0,0,2);
  951. LevelNet2 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,5,4,0,0,0,0,2,3,0,0,4,5,0,0);
  952. LevelNet3 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,5,6,0,0,6,5,0,0,0,0,0,0,0,0,0,0,0,0);
  953. LevelNet4 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,6,6,0,0,2,2,2,0,0,0,0,6,6,6,0,0,2,2,0,0,6,6,0,0);
  954. LevelNet5 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,5,0,6,0,0,0,0,0,0,6,5,6,0,0,0,0,0,0,3,3,7,3,3,0,0,0,0,0,0,4,5,4,0,0,0,0,0,0,4,0,5,0,4,0,0,0);
  955. LevelNet6 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,0,0,6,6,6,6,0,0,5,0,0,0,0,6,0,0,0,5,0,0,0,0,0,0,6,0);
  956. LevelNet7 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,0,0,0,0,0,0,3,0,0,8,0,0,0,0,0,0,2,8,0,2,3,0,5,6,7,0,0,7,0,0,4,3,4,0,8,2,0,6,0,0,5,2,0,0,0,3,4,5,0,0,6);
  957. LevelNet8 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,3,0,0,8,0,0,6,0,0,3,0,0,8,0,0,6,0,0,3,0,0,8,0,0,0);
  958. LevelNet9 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,0,0,4,0,0,0,0,3,3,3,0,0,4,0,0,6,6,0,3,0,0,0,4,0,0,6,0,0,3,0,0,4,4,4,0,6,6,0,3,0,0,4,0,4,0,0,0);
  959. LevelNet10 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,7,7,0,0,7,7,0,0,7,7,0,0,7,7,0,0,4,4,0,0,4,4,0,0,4,4,0,0,4,4,0,0,4,4,0);
  960. LevelNet11 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,5,0,0,0,4,0,4,0,0,5,0,5,0,4,0,0,0,4,5,0,0,0,5,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,7,7,7,7);
  961. LevelNet12 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,0,3,5,7,8,0,0,0,0,0,3,0,3,5,7,8,0,0,0,3,0,0,0,3,5,7,8,0,3,0,0,0,0,0,3,5,7,8,0,3,0,0,0,3,5,7,8,0,0,0,3,0,3,5,7,8,0,0,0,0,0,3,5,7,8,0,0,0);
  962. LevelNet13 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,9,9,0,0,0,9,0,0,0,9,9,9,0,0,9,9,8,8,8,0,8,8,8,8,8,9,0,0,0,9,9,9,0,0,9,9,0,0,0,0,9,9,0,0,0,9,0,0,0,0,0,9,0,0,0,0);
  963. LevelNet14 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,4,0,0,0,10,0,0,0,0,10,0,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,4,10,0,0,0,0,0,0,0,0,10,4,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,10,0,0,0,0,10,0,0,0,4,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0);
  964. LevelNet15 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,3,3,0,0,0,0,0,8,8,8,0,0,3,0,0,0,8,8,8,0,0,8,0,3,0,0,8,8,8,0,0,0,0,3,0,8,8,8,8,8,0,0,0,0,3,8,8,8,8,8,8,0,0,0,3,0,8,8,8,8,8,8,0,3,0,0,8,8,0,8,8,8,0,3,0,0,0,8,8,8,8,0,3,0,0,0,0,0,8,8,8,3,0,0,0);
  965. LevelNet16 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,8,8,8,8,8,8,8,0,0,0,0,4,4,4,4,4,0,0,0,0,0,0,6,6,6,0,0,0,0,0,0,0,0,5,0,0,0,0,0);
  966. LevelNet17 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,2,2,2,5,0,0,0,0,4,0,0,0,0,5,0,0,0,0,4,6,0,8,0,5,0,0,0,0,4,0,7,0,9,5,0,0,0,0,4,0,0,0,0,5,0,0,0,0,4,3,3,3,3,5,0,0,0,0,0,0,0,0,0,0,0,0);
  967. LevelNet18 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,2,0,0,0,0,0,8,8,0,0,2,0,0,7,7,0,0,0,0,0,2,0,7,7,0,0,0,9,0,0,2,0,0,0,0,9,9,9,0,0,0,0,5,0,0,0,0,0,6,0,0,0,5,5,0,4,4,0,6,6,6,0,5,0,0,0,4,4);
  968. LevelNet19 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,0);
  969. LevelNet20 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,8,0,0,0,5,0,3,0,0,0,8,0,9,0,5,0,3,0,7,0,8,0,9,0,5,0,3,0,7,0,8,0,9,0,5,0,3,0,7,0);
  970. LevelNet21 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,5,5,5,0,0,0,0,0,0,5,5,5,0,5,0,0,0,0,5,0,5,5,6,0,5,0,0,5,0,6,5,5,6,6,0,5,5,0,6,6,5,5,6,0,6,0,0,6,0,6,5,5,6,0,0,6,6,0,0,6,5,5,6,0,0,0,0,0,0,6,5,0,5,5,5,5,5,5,5,5,0);
  971. LevelNet22 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,8,0,0,0,0,9,0,0,0,0,0,8,0,0,9,0,9,0,0,7,0,0,0,0,0,9,0,0,7,0,7,0,0,4,0,0,0,0,0,7,0,0,4,0,4,0,0,6,0,0,0,0,0,4,0,0,6,0,6,0,0,0);
  972. LevelNet23 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,2,0,0,0,7,7,7,0,0,2,2,2,0,7,7,0,7,7,2,2,0,2,2);
  973. LevelNet24 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,0,0,0,9,0,9,0,0,3,0,3,0,0,0,9,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
  974. LevelNet25 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,0,0,0,4,0,0,0,0,0,4,0,0,0,0,4,8,8,8,4,0,0,0,0,0,0,4,8,4,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,4,4,4,0,0,0,0);
  975. LevelNet26 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,5,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,0,3,0,3,0,3,3,0,3,0,3,0,3,0,3,0);
  976. LevelNet27 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,6,4,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0);
  977. LevelNet28 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,7,0,0,7,0,3,3,0,9,0,7,7,7,7,0,3,0,0,9,0,0,0,0,0,0,3,0,0,9,0,0,0,0,0,0,3,0,0,9,0,0,0,0,0,0,3,0,0,9,0,5,5,5,5,0,3,0,9,9,0,5,0,0,5,0,3,3);
  978. LevelNet29 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,2,0,2,0,2,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,2,0,2,0,2,0,2,0,0,0,0,2,0,0,0,2,0);
  979. LevelNet30 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,6,0,0,7,0,0,5,5,5,6,6,6,7,7,7,0,0,5,0,0,6,0,0,7,0,0,0,5,0,0,6,0,0,7,0,0,0,5,0,0,6,0,0,7,0,0);
  980. LevelNet31 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,2,2,0,0,2,2,0,0,0,2,2,2,4,4,2,2,2,0,0,0,2,2,0,0,2,2,0,0,0,0,0,2,0,0,2,0,0,0);
  981. LevelNet32 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,0,0,0,0,0,3,6,6,6,6,3,0,0,0,3,6,0,5,5,0,6,3,0,3,6,0,5,4,4,5,0,6,3,3,6,5,4,0,0,4,5,6,3,3,6,0,5,4,4,5,0,6,3,0,3,6,0,5,5,0,6,3,0,0,0,3,6,6,6,6,3,0,0,0,0,0,3,3,3,3,0,0,0);
  982. LevelNet33 = new array(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,8,0,0,0,5,0,0,0,0,0,0,8,0,5,0,0,0,0,0,0,0,0,8,0,5,0,0,0,0,0,0,8,0,0,0,5,0,0,0,0,8,0,0,0,5,0,0,0,0,0,0,8,0,5,0,0,0,0,0,0,0,0,8);
  983. num_figures = 7;
  984. Figure11 = new Array(0,0,1,0,2,0,2,1);
  985. Figure12 = new Array(1,0,1,1,1,2,0,2);
  986. Figure13 = new Array(0,0,0,1,1,1,2,1);
  987. Figure14 = new Array(1,0,0,0,0,1,0,2);
  988. Figure21 = new Array(0,0,0,1,1,0,2,0);
  989. Figure22 = new Array(0,0,1,0,1,1,1,2);
  990. Figure23 = new Array(0,1,1,1,2,1,2,0);
  991. Figure24 = new Array(0,0,0,1,0,2,1,2);
  992. Figure31 = new Array(0,0,1,0,0,1,1,1);
  993. Figure32 = new Array(0,0,1,0,0,1,1,1);
  994. Figure33 = new Array(0,0,1,0,0,1,1,1);
  995. Figure34 = new Array(0,0,1,0,0,1,1,1);
  996. Figure41 = new Array(0,0,1,0,2,0,3,0);
  997. Figure42 = new Array(1,0,1,1,1,2,1,3);
  998. Figure43 = new Array(0,0,1,0,2,0,3,0);
  999. Figure44 = new Array(1,0,1,1,1,2,1,3);
  1000. Figure51 = new Array(0,0,1,0,1,1,2,1);
  1001. Figure52 = new Array(0,1,0,2,1,0,1,1);
  1002. Figure53 = new Array(0,0,1,0,1,1,2,1);
  1003. Figure54 = new Array(0,1,0,2,1,0,1,1);
  1004. Figure61 = new Array(0,1,1,0,1,1,2,0);
  1005. Figure62 = new Array(0,0,0,1,1,1,1,2);
  1006. Figure63 = new Array(0,1,1,0,1,1,2,0);
  1007. Figure64 = new Array(0,0,0,1,1,1,1,2);
  1008. Figure71 = new Array(0,1,1,0,1,1,2,1);
  1009. Figure72 = new Array(0,0,0,1,1,1,0,2);
  1010. Figure73 = new Array(0,0,1,0,1,1,2,0);
  1011. Figure74 = new Array(0,1,1,0,1,1,1,2);
  1012. fscommand("allowscale","false");
  1013. ShowMainMenu();
  1014. _root.onEnterFrame = function()
  1015. {
  1016.    if(!DialogMode)
  1017.    {
  1018.       UpdateGame();
  1019.    }
  1020.    if(DialogMode)
  1021.    {
  1022.       if(_root.WindowLevelComplete1._visible)
  1023.       {
  1024.          if(Key.isDown(13) || Key.isDown(27))
  1025.          {
  1026.             _root.WindowLevelComplete1._visible = false;
  1027.             _root.DialogMode = false;
  1028.          }
  1029.       }
  1030.    }
  1031.    if(DialogMode)
  1032.    {
  1033.       if(_root.WindowMainMenu1._visible)
  1034.       {
  1035.          if(Key.isDown(13))
  1036.          {
  1037.             _root.CurLevel = 1;
  1038.             _root.LastScore = 0;
  1039.             _root.Score = 0;
  1040.             _root.Lines = 0;
  1041.             _root.LastLines = 0;
  1042.             _root.StartNewGame();
  1043.             _root.PlayAreaOn();
  1044.          }
  1045.       }
  1046.    }
  1047.    if(DialogMode)
  1048.    {
  1049.       if(_root.WindowGameOver1._visible)
  1050.       {
  1051.          if(Key.isDown(13) || Key.isDown(27))
  1052.          {
  1053.             _root.WindowGameOver1._visible = false;
  1054.             _root.ShowMainMenu();
  1055.          }
  1056.       }
  1057.    }
  1058. };
  1059.