Board logo

标题: [原创]Flash游戏—对对碰 [打印本页]

作者: 紫色流星    时间: 2007-9-18 20:56     标题: [原创]Flash游戏—对对碰

  昨天终于把新制作的Flash游戏《对对碰》完成了。说实话,好久没有编写过如此让我郁闷的程序了。原因倒不是算法多么复杂,只要是比较繁琐,而且事先没有规划好,以至于开始写了六天之后才发现当初设想的致命缺陷。在第七天终于修正了缺陷,于是很多麻烦的地方都相对轻松地解决了。经过初步的测试,结果还算满意。

  有人说这个游戏的颜色过于鲜艳,玩的时间长了有些眼睛疲劳,我坚持不改,因为第一,我喜欢这么多色彩;第二,我是研究算法和程序的,不是搞美工的,呵呵

  源代码回复中可见,有些长,共910行。估计没有人愿意看,虽然我精心加了些并不完整的注释,呵呵

对对碰.JPG



  文件下载后直接用IE打开就可以。 对对碰.swf (4.94 KB)

附件: 对对碰.swf (2007-9-18 20:56, 4.94 KB) / 下载次数 380
http://heubbs.com/attachment.php?aid=6180&k=2bc98e1754e08bb19bec4aeb7e8fbaa8&t=1732673616&sid=aaYQJb

图片附件: 对对碰.JPG (2007-9-18 21:07, 56.65 KB) / 下载次数 47
http://heubbs.com/attachment.php?aid=6181&k=8994e60eb6a013330c8ca9427d9d72d6&t=1732673616&sid=aaYQJb


作者: 紫色流星    时间: 2007-9-18 21:03


  1. //--------------------
  2. // 版本:0.30
  3. // 开始日期:2007-09-10
  4. // 完成日期:2007-09-17
  5. // 更新历史:
  6. // 0.01:部分功能实现;
  7. // 0.10:更改了核心代码和算法,使得基本功能全部实现;
  8. // 0.20:增加了提示功能;
  9. // 0.30:增加了自动检测是否存在可消除方块的功能;
  10. //--------------------
  11. /*
  12. 全局变量说明:
  13. table_w:球阵的宽度;
  14. table_h:球阵的高度;
  15. balls:球的种类数;
  16. prx、pry:前次鼠标选中的球在矩阵中的坐标;
  17. nwx、nwy:本次鼠标选中的球在矩阵中的坐标;
  18. count0、count1、count2:过程计数器;
  19. mc0、mc1:用于存放两个被选中的球的电影剪辑名;
  20. zt:用于标示当前的可操作状态;
  21. cache:用于存储要消除的球的电影剪辑名;
  22. cache0:用于存储消除后下落的球的电影剪辑名;
  23. table:二维数组,用于标示对应点的球的种类。
  24. 函数功能及简要算法说明:
  25. showArray:显示出table的数据,调试程序用;
  26. update:刷新台面上所有球;
  27. test0:用于检测是否存在直接相连的同色球,返回布尔值;
  28. firstRun:初始化游戏,也用于重新开始;
  29. mb.onMouseDown:鼠标事件处理;
  30. box0:画出一个标记选中球的方框;
  31. timer0FC:将两个选中的临近球交换位置,如果不满足消去条件再交换回原位置;
  32. test1:检测选中球是否在交换后符合消去条件;
  33. test2:检测参数所定位的球是否满足消去条件;
  34. scf_check:将交换后能消去的球压入堆栈;
  35. scf_clean:将能消去的球从屏幕上抹去;
  36. scf_down:让数组向下塌陷,填补消去的空白;
  37. scf_fall:让屏幕上的球依次填补空白;
  38. creat:在空白处产生新的随机球;
  39. checks:检测下落和产生随机球后时候存在可消去的球;
  40. restart:重新开始;
  41. item:自动提示;
  42. changed:在屏幕上让提示的球闪烁;
  43. test3:用于检测是否存在可交换消去的球。
  44. */
  45. Stage.scaleMode = "noScale";
  46. var table_w:Number = 10;
  47. var table_h:Number = 10;
  48. var balls:Number = 8;
  49. var prx:Number = -1;
  50. var pry:Number = -1;
  51. var nwx:Number = -1;
  52. var nwy:Number = -1;
  53. var count0:Number = 0;
  54. var count1:Number = 0;
  55. var count2:Number = 0;
  56. var mc0:MovieClip;
  57. var mc1:MovieClip;
  58. var zt:Boolean = true;
  59. var cache:Array = new Array();
  60. var cache0:Array = new Array();
  61. var table:Array = new Array(table_w);
  62. for (var i = 0; i<table_w; i++) {
  63. table[i] = new Array(table_h);
  64. }
  65. _root.createEmptyMovieClip("box0_mc", 1000);
  66. showArray = function ():Void {
  67. for (var i = 0; i<table_w; i++) {
  68.   trace(table[i].toString());
  69. }
  70. };
  71. update = function ():Void {
  72. for (var i = 0; i<table_w; i++) {
  73.   for (var j = 0; j<table_h; j++) {
  74.    var c = table[i][j];
  75.    var s = table_w*i+j;
  76.    _root.attachMovie("Ball", "ball"+s, s);
  77.    _root["ball"+s]._x = 50*i+50;
  78.    _root["ball"+s]._y = 50*j+50;
  79.    _root["ball"+s].gotoAndStop(c+1);
  80.   }
  81. }
  82. };
  83. test0 = function ():Boolean {
  84. var w = table_w-2;
  85. var h = table_h-2;
  86. for (var i = 0; i<w; i++) {
  87.   for (var j = 0; j<h; j++) {
  88.    if (table[i][j] == table[i][j+1] && table[i][j] == table[i][j+2]) {
  89.     return true;
  90.    }
  91.    if (table[i][j] == table[i+1][j] && table[i][j] == table[i+2][j]) {
  92.     return true;
  93.    }
  94.   }
  95. }
  96. for (var i = 0; i<h; i++) {
  97.   if (table[w][i] == table[w][i+1] && table[w][j] == table[w][i+2]) {
  98.    return true;
  99.   }
  100.   if (table[w+1][i] == table[w+1][i+1] && table[w+1][i] == table[w+1][i+2]) {
  101.    return true;
  102.   }
  103. }
  104. for (var i = 0; i<w; i++) {
  105.   if (table[i][h] == table[i+1][h] && table[i][h] == table[i+2][h]) {
  106.    return true;
  107.   }
  108.   if (table[i][h+1] == table[i+1][h+1] && table[i][h+1] == table[i+2][h+1]) {
  109.    return true;
  110.   }
  111. }
  112. return false;
  113. };
  114. firstRun = function ():Void {
  115. do {
  116.   for (var i = 0; i<table_w; i++) {
  117.    for (var j = 0; j<table_h; j++) {
  118.     table[i][j] = random(balls)+1;
  119.    }
  120.   }
  121. } while (test0() == true && test3() == true);
  122. update();
  123. };
  124. mb.onMouseDown = function() {
  125. var x = Math.floor((_root._xmouse-25)/50);
  126. var y = Math.floor((_root._ymouse-25)/50);
  127. if (x>=0 && y>=0 && x<10 && y<10 && zt == true) {
  128.   if (prx+pry<0) {
  129.    prx = x;
  130.    pry = y;
  131.    zt = true;
  132.    box0(x, y);
  133.   } else {
  134.    if (Math.abs(prx-x)+Math.abs(pry-y) == 1) {
  135.     zt = false;
  136.     nwx = x;
  137.     nwy = y;
  138.     mc0 = _root["ball"+(nwx*table_w+nwy)];
  139.     mc1 = _root["ball"+(prx*table_w+pry)];
  140.     if (pry>nwy) {
  141.      count0 = 1;
  142.     }
  143.     if (prx<nwx) {
  144.      count0 = 2;
  145.     }
  146.     if (pry<nwy) {
  147.      count0 = 3;
  148.     }
  149.     if (prx>nwx) {
  150.      count0 = 4;
  151.     }
  152.     count1 = 0;
  153.     timer0 = setInterval(timer0FC, 40);
  154.    } else {
  155.     box0_mc.clear();
  156.     prx = x;
  157.     pry = y;
  158.     box0(x, y);
  159.    }
  160.   }
  161. }
  162. };
  163. box0 = function (x:Number, y:Number):Void {
  164. var ix:Number = x*50+25;
  165. var iy:Number = y*50+25;
  166. with (box0_mc) {
  167.   lineStyle(3, 0x00FF00, 100);
  168.   moveTo(ix, iy);
  169.   lineTo(ix+50, iy);
  170.   lineTo(ix+50, iy+50);
  171.   lineTo(ix, iy+50);
  172.   lineTo(ix, iy);
  173. }
  174. };
  175. timer0FC = function ():Void {
  176. switch (count0) {
  177. case 1 :
  178.   count1++;
  179.   mc0._y += 5;
  180.   mc1._y -= 5;
  181.   break;
  182. case 2 :
  183.   count1++;
  184.   mc0._x -= 5;
  185.   mc1._x += 5;
  186.   break;
  187. case 3 :
  188.   count1++;
  189.   mc0._y -= 5;
  190.   mc1._y += 5;
  191.   break;
  192. case 4 :
  193.   count1++;
  194.   mc0._x += 5;
  195.   mc1._x -= 5;
  196.   break;
  197. default :
  198.   trace("Error!");
  199. }
  200. if (count1 == 10) {
  201.   test1();
  202. }
  203. if (count1 == 20) {
  204.   clearInterval(timer0);
  205.   zt = true;
  206. }
  207. };
  208. test1 = function ():Void {
  209. var c = table[nwx][nwy];
  210. table[nwx][nwy] = table[prx][pry];
  211. table[prx][pry] = c;
  212. if (test2(nwx, nwy) == false && test2(prx, pry) == false) {
  213.   var c = table[nwx][nwy];
  214.   table[nwx][nwy] = table[prx][pry];
  215.   table[prx][pry] = c;
  216.   switch (count0) {
  217.   case 1 :
  218.    count0 = 3;
  219.    break;
  220.   case 2 :
  221.    count0 = 4;
  222.    break;
  223.   case 3 :
  224.    count0 = 1;
  225.    break;
  226.   case 4 :
  227.    count0 = 2;
  228.    break;
  229.   }
  230.   trace(false);
  231. } else {
  232.   mc0._x = nwx*50+50;
  233.   mc0._y = nwy*50+50;
  234.   mc0.gotoAndStop(table[nwx][nwy]+1);
  235.   mc1._x = prx*50+50;
  236.   mc1._y = pry*50+50;
  237.   mc1.gotoAndStop(table[prx][pry]+1);
  238.   clearInterval(timer0);
  239.   trace(true);
  240.   box0_mc.clear();
  241.   scf_check();
  242. }
  243. };
  244. test2 = function (ix:Number, iy:Number):Boolean {
  245. if (iy<9 && table[ix][iy] == table[ix][iy+1] && table[ix][iy] == table[ix][iy+2]) {
  246.   return true;
  247. }
  248. if (iy>0 && iy<10 && table[ix][iy] == table[ix][iy-1] && table[ix][iy] == table[ix][iy+1]) {
  249.   return true;
  250. }
  251. if (iy>1 && table[ix][iy] == table[ix][iy-2] && table[ix][iy] == table[ix][iy-1]) {
  252.   return true;
  253. }
  254. if (ix<9 && table[ix][iy] == table[ix+1][iy] && table[ix][iy] == table[ix+2][iy]) {
  255.   return true;
  256. }
  257. if (ix>0 && ix<10 && table[ix-1][iy] == table[ix][iy] && table[ix][iy] == table[ix+1][iy]) {
  258.   return true;
  259. }
  260. if (ix>1 && table[ix][iy] == table[ix-2][iy] && table[ix][iy] == table[ix-1][iy]) {
  261.   return true;
  262. }
  263. return false;
  264. };
  265. scf_check = function ():Void {
  266. trace("nwx:"+nwx+"  nwy:"+nwy+"  prx:"+prx+"  pry:"+pry);
  267. var enablenw:Boolean = false;
  268. var enablepr:Boolean = false;
  269. if (nwx == prx && nwy<pry) {
  270.   trace("First:nwx == prx && nwy>pry");
  271.   if (nwy>1 && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy-2]) {
  272.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  273.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  274.    enablenw = true;
  275.   }
  276.   if (nwx>1 && nwx<9 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  277.    //@@@@@
  278.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  279.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  280.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  281.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  282.    enablenw = true;
  283.   } else if (nwx>1 && nwx<10 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy]) {
  284.    //@@@@X
  285.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  286.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  287.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  288.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  289.    enablenw = true;
  290.   } else if (nwx>0 && nwx<9 && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  291.    //X@@@@
  292.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  293.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  294.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  295.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  296.    enablenw = true;
  297.   } else if (nwx>1 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy]) {
  298.    //@@@XX
  299.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  300.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  301.    //cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  302.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  303.    enablenw = true;
  304.   } else if (nwx>0 && nwx<10 && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy]) {
  305.    //X@@@X
  306.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  307.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  308.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  309.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  310.    enablenw = true;
  311.   } else if (nwx<9 && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  312.    //XX@@@
  313.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  314.    //cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  315.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  316.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  317.    enablenw = true;
  318.   }
  319.   if (enablenw == true) {
  320.    cache.push(_root["ball"+(nwx*table_w+nwy)]);
  321.   }
  322.   if (pry<9 && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  323.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  324.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  325.    enablepr = true;
  326.   }
  327.   if (prx>1 && prx<9 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  328.    //@@@@@
  329.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  330.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  331.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  332.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  333.    enablepr = true;
  334.   } else if (prx>1 && prx<10 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry]) {
  335.    //@@@@X
  336.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  337.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  338.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  339.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  340.    enablepr = true;
  341.   } else if (prx>0 && prx<9 && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  342.    //X@@@@
  343.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  344.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  345.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  346.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  347.    enablepr = true;
  348.   } else if (prx>1 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry]) {
  349.    //@@@XX
  350.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  351.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  352.    //cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  353.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  354.    enablepr = true;
  355.   } else if (prx>0 && prx<10 && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry]) {
  356.    //X@@@X
  357.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  358.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  359.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  360.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  361.    enablepr = true;
  362.   } else if (prx<9 && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  363.    //XX@@@
  364.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  365.    //cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  366.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  367.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  368.    enablepr = true;
  369.   }
  370.   if (enablepr == true) {
  371.    cache.push(_root["ball"+(prx*table_w+pry)]);
  372.   }
  373. }
  374. if (nwx == prx && nwy>pry) {
  375.   trace("Second:nwx == prx && nwy<pry");
  376.   if (nwy<9 && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  377.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  378.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  379.    enablenw = true;
  380.   }
  381.   if (nwx>1 && nwx<9 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  382.    //@@@@@
  383.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  384.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  385.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  386.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  387.    enablenw = true;
  388.   } else if (nwx>1 && nwx<10 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy]) {
  389.    //@@@@X
  390.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  391.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  392.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  393.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  394.    enablenw = true;
  395.   } else if (nwx>0 && nwx<9 && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  396.    //X@@@@
  397.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  398.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  399.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  400.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  401.    enablenw = true;
  402.   } else if (nwx>1 && table[nwx][nwy] == table[nwx-2][nwy] && table[nwx][nwy] == table[nwx-1][nwy]) {
  403.    //@@@XX
  404.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  405.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  406.    //cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  407.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  408.    enablenw = true;
  409.   } else if (nwx>0 && nwx<10 && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx+1][nwy]) {
  410.    //X@@@X
  411.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  412.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  413.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  414.    //cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  415.    enablenw = true;
  416.   } else if (nwx<9 && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  417.    //XX@@@
  418.    //cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  419.    //cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  420.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  421.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  422.    enablenw = true;
  423.   }
  424.   if (enablenw == true) {
  425.    cache.push(_root["ball"+(nwx*table_w+nwy)]);
  426.   }
  427.   if (pry>1 && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry-2]) {
  428.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  429.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  430.    enablepr = true;
  431.   }
  432.   if (prx>1 && prx<9 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  433.    //@@@@@
  434.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  435.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  436.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  437.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  438.    enablepr = true;
  439.   } else if (prx>1 && prx<10 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry]) {
  440.    //@@@@X
  441.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  442.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  443.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  444.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  445.    enablepr = true;
  446.   } else if (prx>0 && prx<9 && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  447.    //X@@@@
  448.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  449.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  450.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  451.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  452.    enablepr = true;
  453.   } else if (prx>1 && table[prx][pry] == table[prx-2][pry] && table[prx][pry] == table[prx-1][pry]) {
  454.    //@@@XX
  455.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  456.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  457.    //cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  458.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  459.    enablepr = true;
  460.   } else if (prx>0 && prx<10 && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx+1][pry]) {
  461.    //X@@@X
  462.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  463.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  464.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  465.    //cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  466.    enablepr = true;
  467.   } else if (prx<9 && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  468.    //XX@@@
  469.    //cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  470.    //cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  471.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  472.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  473.    enablepr = true;
  474.   }
  475.   if (enablepr == true) {
  476.    cache.push(_root["ball"+(prx*table_w+pry)]);
  477.   }
  478. }
  479. if (nwy == pry && nwx>prx) {
  480.   trace("Third:nwy == pry && nwx>prx");
  481.   if (nwx<9 && table[nwx][nwy] == table[nwx+1][nwy] && table[nwx][nwy] == table[nwx+2][nwy]) {
  482.    cache.push(_root["ball"+((nwx+1)*table_w+nwy)]);
  483.    cache.push(_root["ball"+((nwx+2)*table_w+nwy)]);
  484.    enablenw = true;
  485.   }
  486.   if (nwy>1 && nwy<9 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  487.    //@@@@@
  488.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  489.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  490.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  491.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  492.    enablenw = true;
  493.   } else if (nwy>1 && nwy<10 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1]) {
  494.    //@@@@X
  495.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  496.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  497.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  498.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  499.    enablenw = true;
  500.   } else if (nwy>0 && nwy<9 && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  501.    //X@@@@
  502.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  503.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  504.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  505.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  506.    enablenw = true;
  507.   } else if (nwy>1 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1]) {
  508.    //@@@XX
  509.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  510.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  511.    //cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  512.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  513.    enablenw = true;
  514.   } else if (nwy>0 && nwy<10 && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1]) {
  515.    //X@@@X
  516.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  517.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  518.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  519.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  520.    enablenw = true;
  521.   } else if (nwy<9 && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  522.    //XX@@@
  523.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  524.    //cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  525.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  526.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  527.    enablenw = true;
  528.   }
  529.   if (enablenw == true) {
  530.    cache.push(_root["ball"+(nwx*table_w+nwy)]);
  531.   }
  532.   if (prx>1 && table[prx][pry] == table[prx-1][pry] && table[prx][pry] == table[prx-2][pry]) {
  533.    cache.push(_root["ball"+((prx-1)*table_w+pry)]);
  534.    cache.push(_root["ball"+((prx-2)*table_w+pry)]);
  535.    enablepr = true;
  536.   }
  537.   if (pry>1 && pry<9 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  538.    //@@@@@
  539.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  540.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  541.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  542.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  543.    enablepr = true;
  544.   } else if (pry>1 && pry<10 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1]) {
  545.    //@@@@X
  546.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  547.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  548.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  549.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  550.    enablepr = true;
  551.   } else if (pry>0 && pry<9 && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  552.    //X@@@@
  553.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  554.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  555.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  556.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  557.    enablepr = true;
  558.   } else if (pry>1 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1]) {
  559.    //@@@XX
  560.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  561.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  562.    //cache.push(_root["ball"+(prx*table_w+pry+1)]);
  563.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  564.    enablepr = true;
  565.   } else if (pry>0 && pry<10 && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1]) {
  566.    //X@@@X
  567.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  568.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  569.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  570.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  571.    enablepr = true;
  572.   } else if (pry<9 && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  573.    //XX@@@
  574.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  575.    //cache.push(_root["ball"+(prx*table_w+pry-1)]);
  576.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  577.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  578.    enablepr = true;
  579.   }
  580.   if (enablepr == true) {
  581.    cache.push(_root["ball"+(prx*table_w+pry)]);
  582.   }
  583. }
  584. if (nwy == pry && nwx<prx) {
  585.   trace("Forth:nwy == pry && nwx<prx");
  586.   if (nwx>1 && table[nwx][nwy] == table[nwx-1][nwy] && table[nwx][nwy] == table[nwx-2][nwy]) {
  587.    cache.push(_root["ball"+((nwx-1)*table_w+nwy)]);
  588.    cache.push(_root["ball"+((nwx-2)*table_w+nwy)]);
  589.    enablenw = true;
  590.   }
  591.   if (nwy>1 && nwy<9 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  592.    //@@@@@
  593.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  594.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  595.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  596.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  597.    enablenw = true;
  598.   } else if (nwy>1 && nwy<10 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1]) {
  599.    //@@@@X
  600.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  601.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  602.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  603.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  604.    enablenw = true;
  605.   } else if (nwy>0 && nwy<9 && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  606.    //X@@@@
  607.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  608.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  609.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  610.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  611.    enablenw = true;
  612.   } else if (nwy>1 && table[nwx][nwy] == table[nwx][nwy-2] && table[nwx][nwy] == table[nwx][nwy-1]) {
  613.    //@@@XX
  614.    cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  615.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  616.    //cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  617.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  618.    enablenw = true;
  619.   } else if (nwy>0 && nwy<10 && table[nwx][nwy] == table[nwx][nwy-1] && table[nwx][nwy] == table[nwx][nwy+1]) {
  620.    //X@@@X
  621.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  622.    cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  623.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  624.    //cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  625.    enablenw = true;
  626.   } else if (nwy<9 && table[nwx][nwy] == table[nwx][nwy+1] && table[nwx][nwy] == table[nwx][nwy+2]) {
  627.    //XX@@@
  628.    //cache.push(_root["ball"+(nwx*table_w+nwy-2)]);
  629.    //cache.push(_root["ball"+(nwx*table_w+nwy-1)]);
  630.    cache.push(_root["ball"+(nwx*table_w+nwy+1)]);
  631.    cache.push(_root["ball"+(nwx*table_w+nwy+2)]);
  632.    enablenw = true;
  633.   }
  634.   if (enablenw == true) {
  635.    cache.push(_root["ball"+(nwx*table_w+nwy)]);
  636.   }
  637.   if (prx<9 && table[prx][pry] == table[prx+1][pry] && table[prx][pry] == table[prx+2][pry]) {
  638.    cache.push(_root["ball"+((prx+1)*table_w+pry)]);
  639.    cache.push(_root["ball"+((prx+2)*table_w+pry)]);
  640.    enablepr = true;
  641.   }
  642.   if (pry>1 && pry<9 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  643.    //@@@@@
  644.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  645.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  646.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  647.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  648.    enablepr = true;
  649.   } else if (pry>1 && pry<10 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1]) {
  650.    //@@@@X
  651.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  652.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  653.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  654.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  655.    enablepr = true;
  656.   } else if (pry>0 && pry<9 && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  657.    //X@@@@
  658.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  659.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  660.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  661.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  662.    enablepr = true;
  663.   } else if (pry>1 && table[prx][pry] == table[prx][pry-2] && table[prx][pry] == table[prx][pry-1]) {
  664.    //@@@XX
  665.    cache.push(_root["ball"+(prx*table_w+pry-2)]);
  666.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  667.    //cache.push(_root["ball"+(prx*table_w+pry+1)]);
  668.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  669.    enablepr = true;
  670.   } else if (pry>0 && pry<10 && table[prx][pry] == table[prx][pry-1] && table[prx][pry] == table[prx][pry+1]) {
  671.    //X@@@X
  672.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  673.    cache.push(_root["ball"+(prx*table_w+pry-1)]);
  674.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  675.    //cache.push(_root["ball"+(prx*table_w+pry+2)]);
  676.    enablepr = true;
  677.   } else if (pry<9 && table[prx][pry] == table[prx][pry+1] && table[prx][pry] == table[prx][pry+2]) {
  678.    //XX@@@
  679.    //cache.push(_root["ball"+(prx*table_w+pry-2)]);
  680.    //cache.push(_root["ball"+(prx*table_w+pry-1)]);
  681.    cache.push(_root["ball"+(prx*table_w+pry+1)]);
  682.    cache.push(_root["ball"+(prx*table_w+pry+2)]);
  683.    enablepr = true;
  684.   }
  685.   if (enablepr == true) {
  686.    cache.push(_root["ball"+(prx*table_w+pry)]);
  687.   }
  688. }
  689. count2 = 0;
  690. timer1 = setInterval(scf_clean, 100);
  691. };
  692. scf_clean = function ():Void {
  693. if (cache[0]._alpha<=0) {
  694.   for (var i = 0; i<cache.length; i++) {
  695.    cache[i]._alpha = 100;
  696.    cache[i]._xscale = 100;
  697.    cache[i]._yscale = 100;
  698.    cache[i].gotoAndStop(1);
  699.   }
  700.   clearInterval(timer1);
  701.   scf_down();
  702. } else {
  703.   for (var i = 0; i<cache.length; i++) {
  704.    cache[i]._alpha -= 10;
  705.    cache[i]._xscale -= 10;
  706.    cache[i]._yscale -= 10;
  707.   }
  708. }
  709. };
  710. scf_down = function ():Void {
  711. for (var i = 0; i<cache.length; i++) {
  712.   var ix = (cache[i]._x-50)/50;
  713.   var iy = (cache[i]._y-50)/50;
  714.   table[ix][iy] = -1;
  715. }
  716. for (var i = 0; i<table_w; i++) {
  717.   for (var j = table_h; j>=0; j--) {
  718.    if (table[i][j]<0) {
  719.     var s:Number = 0;
  720.     do {
  721.      s++;
  722.     } while (s<=j && table[i][j-s]<0);
  723.     if (table[i][j-s] == undefined) {
  724.      table[i][j] = -1;
  725.     } else {
  726.      table[i][j] = table[i][j-s];
  727.      table[i][j-s] = -1;
  728.     }
  729.     cache0.push(_root["ball"+(i*table_w+j)]);
  730.    }
  731.   }
  732. }
  733. for (var i = 0; i<cache.length; i++) {
  734.   for (var j = 0; j<cache0.length; j++) {
  735.    if (cache[i] == cache0[j]) {
  736.     cache0.splice(j, 1);
  737.     break;
  738.    }
  739.   }
  740. }
  741. count1 = 0;
  742. timer2 = setInterval(scf_fall, 50);
  743. };
  744. scf_fall = function () {
  745. var ix = cache0[count1]._x/50-1;
  746. var iy = cache0[count1]._y/50-1;
  747. var s = ix*table_w+iy;
  748. var c = 0;
  749. do {
  750.   c++;
  751. } while (_root["ball"+(s+c)]._currentframe == 1);
  752. _root["ball"+(s+c-1)].gotoAndStop(_root["ball"+s]._currentframe);
  753. _root["ball"+s].gotoAndStop(1);
  754. count1++;
  755. if (count1>cache0.length) {
  756.   clearInterval(timer2);
  757.   creat();
  758. }
  759. };
  760. creat = function () {
  761. for (var i = 0; i<table_w; i++) {
  762.   for (var j = 0; j<table_h; j++) {
  763.    if (table[i][j]<0) {
  764.     table[i][j] = random(balls)+1;
  765.    }
  766.   }
  767. }
  768. update();
  769. //showArray();
  770. checks();
  771. };
  772. checks = function () {
  773. cache = new Array();
  774. cache0 = new Array();
  775. for (var i = 0; i<table_w; i++) {
  776.   for (var j = 0; j<table_h; j++) {
  777.    if (test2(i, j) == true) {
  778.     cache.push(_root["ball"+(i*table_w+j)]);
  779.    }
  780.   }
  781. }
  782. if (cache.length>0) {
  783.   count2 = 0;
  784.   timer1 = setInterval(scf_clean, 100);
  785. } else {
  786.   prx = -1;
  787.   pry = -1;
  788.   cache = new Array();
  789.   cache0 = new Array();
  790.   zt = true;
  791.   if (test3() == false) {
  792.    restart();
  793.   }
  794. }
  795. };
  796. restart = function ():Void {
  797. my_cmi.enabled = false;
  798. box0_mc.clear();
  799. prx = -1;
  800. pry = -1;
  801. nwx = -1;
  802. nwy = -1;
  803. cache = new Array();
  804. cache0 = new Array();
  805. firstRun();
  806. zt = true;
  807. my_cmi.enabled = true;
  808. };
  809. item = function () {
  810. if (test3() == true) {
  811.   zt = false;
  812.   for (var i = 1; i<table_w; i++) {
  813.    for (var j = 1; j<table_h; j++) {
  814.     var c = table[i-1][j];
  815.     table[i-1][j] = table[i][j];
  816.     table[i][j] = c;
  817.     if (test2(i, j) == true || test2(i-1, j) == true) {
  818.      var c = table[i-1][j];
  819.      table[i-1][j] = table[i][j];
  820.      table[i][j] = c;
  821.      count0 = 0;
  822.      timer3 = setInterval(changed, 200, _root["ball"+(i*table_w+j)], _root["ball"+((i-1)*table_w+j)]);
  823.      i = table_w;
  824.      j = table_h;
  825.     } else {
  826.      var c = table[i-1][j];
  827.      table[i-1][j] = table[i][j];
  828.      table[i][j] = c;
  829.      c = table[i][j-1];
  830.      table[i][j-1] = table[i][j];
  831.      table[i][j] = c;
  832.      if (test2(i, j) == true || test2(i, j-1) == true) {
  833.       var c = table[i][j-1];
  834.       table[i][j-1] = table[i][j];
  835.       table[i][j] = c;
  836.       count0 = 0;
  837.       timer3 = setInterval(changed, 200, _root["ball"+(i*table_w+j)], _root["ball"+(i*table_w+j-1)]);
  838.       i = table_w;
  839.       j = table_h;
  840.      } else {
  841.       var c = table[i][j-1];
  842.       table[i][j-1] = table[i][j];
  843.       table[i][j] = c;
  844.      }
  845.     }
  846.    }
  847.   }
  848. } else {
  849.   restart();
  850. }
  851. };
  852. changed = function (mc0_mc:MovieClip, mc1_mc:MovieClip) {
  853. if (mc0_mc._currentframe == 10 && mc1_mc._currentframe == 10) {
  854.   update();
  855. } else {
  856.   mc0_mc.gotoAndStop(10);
  857.   mc0_mc._xscale = 150;
  858.   mc0_mc._yscale = 150;
  859.   mc1_mc.gotoAndStop(10);
  860.   mc1_mc._xscale = 150;
  861.   mc1_mc._yscale = 150;
  862. }
  863. if (++count0>6) {
  864.   update();
  865.   clearInterval(timer3);
  866.   zt = true;
  867. }
  868. };
  869. test3 = function ():Boolean {
  870. for (var i = 1; i<table_w; i++) {
  871.   for (var j = 1; j<table_h; j++) {
  872.    var c = table[i-1][j];
  873.    table[i-1][j] = table[i][j];
  874.    table[i][j] = c;
  875.    if (test2(i, j) == true || test2(i-1, j) == true) {
  876.     var c = table[i-1][j];
  877.     table[i-1][j] = table[i][j];
  878.     table[i][j] = c;
  879.     return true;
  880.    } else {
  881.     var c = table[i-1][j];
  882.     table[i-1][j] = table[i][j];
  883.     table[i][j] = c;
  884.     c = table[i][j-1];
  885.     table[i][j-1] = table[i][j];
  886.     table[i][j] = c;
  887.     if (test2(i, j) == true || test2(i, j-1) == true) {
  888.      var c = table[i][j-1];
  889.      table[i][j-1] = table[i][j];
  890.      table[i][j] = c;
  891.      return true;
  892.     } else {
  893.      var c = table[i][j-1];
  894.      table[i][j-1] = table[i][j];
  895.      table[i][j] = c;
  896.     }
  897.    }
  898.   }
  899. }
  900. return false;
  901. };
  902. firstRun();
  903. var my_cm:ContextMenu = new ContextMenu();
  904. var my0_cmi:ContextMenuItem = new ContextMenuItem("提示", item);
  905. var my1_cmi:ContextMenuItem = new ContextMenuItem("重新开始", restart, true);
  906. my_cm.customItems.push(my0_cmi, my1_cmi);
  907. //my_cm.customItems.push(my1_cmi);
  908. my_cm.hideBuiltInItems();
  909. _root.menu = my_cm;
复制代码

作者: 上将    时间: 2007-9-18 22:01

跟戈薇有一拼~
作者: 紫梦    时间: 2007-9-19 09:16

开心
作者: 上将    时间: 2007-9-19 22:44

那搞什么?
作者: 紫色流星    时间: 2007-9-20 10:57

原帖由 小书童华安 于 2007-9-19 22:35 发表
比我强多了  我不搞代码

传说中的美工?
作者: 上将    时间: 2007-9-20 11:02

跪键盘吧~
作者: daidai0628    时间: 2007-10-20 13:40

拜!

太牛了!
没搞过flash
flash用的是什么语言?
作者: 紫色流星    时间: 2007-12-8 09:27

原帖由 daidai0628 于 2007-10-20 13:40 发表
拜!

太牛了!
没搞过flash
flash用的是什么语言?

ActionScript
作者: 高西    时间: 2008-1-1 11:18

不错了 还好
不过那个颜色看着有点混 能不能搞的色差大点
作者: 高西    时间: 2008-1-1 11:41

连重新开始都没有
作者: 高西    时间: 2008-1-1 11:42

帮助也没有 5555555555

没有了一样的也没有自动整合的程序
作者: 紫色流星    时间: 2008-1-5 19:18

这个其实就是一种算法验证性的程序,并不是成品,呵呵,过几天我上传一个最近的成品Flash。
作者: datou618    时间: 2008-1-5 20:10     标题: 回复 14楼 的帖子

大哥,帮我找一下那个张的联系方式吧,多谢了
作者: 上将    时间: 2008-1-5 20:35

原帖由 紫色流星 于 2008-1-5 19:18 发表
这个其实就是一种算法验证性的程序,并不是成品,呵呵,过几天我上传一个最近的成品Flash。

不错,友情支持~
作者: lys008    时间: 2009-6-25 18:48

1# 紫色流星
好东西,学习一下




欢迎光临 工程家园 (http://heubbs.com/) Powered by Discuz! 7.2