Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

为UCH插件提供点游戏的源码。希望能做出更多好的插件。(不定时更新)

[复制链接]
秦月阳 发表于 2008-10-23 22:58:22 | 显示全部楼层
感谢楼主提供。
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 00:50:25 | 显示全部楼层
手上还有2个 版本  一个是我现在自己在用的
银河帝国

还有个就是 大话西游的

但是没地方放 传不上来!有需要的Q我 我单一发算了!或谁介绍个网盘!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

eqmz 发表于 2008-10-24 01:34:11 | 显示全部楼层
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 03:10:59 | 显示全部楼层
继续发送东西

明天起来在发几个FLASH的个人业面那种  希望有高手能完美搞到UCH的个人版里!

好了睡觉了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 03:26:54 | 显示全部楼层
本帖最后由 53866484 于 2008-10-24 03:30 编辑

先上点

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 03:29:39 | 显示全部楼层
继续都是些小的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 03:31:54 | 显示全部楼层
  1. //MARGIN_LEFT:左边距
  2. var MARGIN_LEFT:Number = 50;
  3. //MARGIN_TOP:上边距
  4. var MARGIN_TOP:Number = 50;
  5. //W:图块边长
  6. var W:Number = 50;
  7. //ROW:图块行数
  8. var ROW:Number = 7;
  9. //COL:图块列数
  10. var COL:Number = 7;
  11. //PIC:图案种数
  12. var PIC:Number = 6;
  13. //GRID:矩阵图块数
  14. var GRID:Number = ROW*COL;
  15. //XA:第1个图块X坐标
  16. var XA:Number = -1;
  17. //YA:第1个图块Y坐标
  18. var YA:Number = -1;
  19. //XB:第2个图块X坐标
  20. var XB:Number = -1;
  21. //YB:第2个图块Y坐标
  22. var YB:Number = -1;
  23. //PICIDX:图片序列号
  24. var PICIDX:Number = 0;
  25. //MOVEDELAY:移动延迟
  26. var MOVEDELAY:Number = 4;
  27. //DISADELAY:消失延迟
  28. var DISADELAY:Number = 5;
  29. //SCORE:得分
  30. var SCORE:Number = 0;
  31. //matrix:记录每个图块图案的二维数组
  32. var matrix:Array = new Array(ROW);
  33. for (var i = 0; i<ROW; i++) {
  34. matrix[i] = new Array(COL);
  35. }
  36. //调用initGrid()函数初始化游戏
  37. initGrid();
  38. function initGrid() {
  39. //图块序号清0
  40. PICIDX = 0;
  41. //计分清0
  42. SCORE = 0;
  43. _root.txtScore.text = SCORE;
  44. //调用initXY()初始化被选图块坐标
  45. initXY();
  46. //调用initMatrix()将二维数组清0
  47. initMatrix();
  48. //调用randMatrix()生成随机二维数组
  49. randMatrix();
  50. //调用loadPic加载图片
  51. loadPic();
  52. }
  53. //函数clearPic()删除所有图块
  54. function clearPic() {
  55. for (var i = 0; i<=PICIDX; i++) {
  56.   var mc:MovieClip = _root["pic"+i];
  57.   mc.removeMovieClip();
  58. }
  59. }
  60. //函数initXY()初始化被选图块坐标
  61. function initXY() {
  62. XA = -1;
  63. YA = -1;
  64. XB = -1;
  65. YB = -1;
  66. }
  67. //函数initMatrix()将二维数组初始化为0
  68. function initMatrix() {
  69. for (var i = 0; i<ROW; i++) {
  70.   for (var j = 0; j<COL; j++) {
  71.    matrix[j][i] = 0;
  72.   }
  73. }
  74. }
  75. //函数randMatrix()生成随机二维数组
  76. function randMatrix() {
  77. var rand:Number;
  78. for (var i = 0; i<ROW; i++) {
  79.   for (var j = 0; j<COL; j++) {
  80.    //为二维数组元素matrix[j][i]生成随机图片
  81.    do {
  82.     rand = Math.floor(Math.random()*PIC);
  83.     matrix[j][i] = Number(rand+1);
  84.    } while (checkInitLine(i, j));
  85.    //直到生成的二维数组中不再3个以上的相同图块连在一起
  86.   }
  87. }
  88. }
  89. //函数checkInitLine()在初始化游戏时检查是否有3个以上的相同图块连在一起
  90. function checkInitLine(X, Y:Number):Boolean {
  91. var boolX, boolY:Boolean;
  92. boolX = boolY=false;
  93. var total:Number = 0;
  94. if (X>=2) {
  95.   //从当前图块开始向左比较3个图块
  96.   boolX = (matrix[Y][X] == matrix[Y][X-1] && matrix[Y][X] == matrix[Y][X-2]);
  97. }
  98. if (Y>=2) {
  99.   //从当前图块开始向上比较3个图块
  100.   boolY = (matrix[Y][X] == matrix[Y-1][X] && matrix[Y][X] == matrix[Y-2][X]);
  101. }
  102. return boolX || boolY;
  103. }
  104. //函数loadPic()加载图片并为影片剪辑添加事件处理函数
  105. function loadPic() {
  106. for (var i = 0; i<ROW; i++) {
  107.   for (var j = 0; j<COL; j++) {
  108.    PICIDX = j*COL+i;
  109.    var picMC:MovieClip = _root.createEmptyMovieClip("pic"+PICIDX, PICIDX);
  110.    picMC._x = MARGIN_LEFT+i*W;
  111.    picMC._y = MARGIN_TOP+j*W;
  112.    picMC.X = i;
  113.    picMC.Y = j;
  114.    //鼠标经过,改变透明度
  115.    picMC.onRollOver = function() {
  116.     this._alpha = 50;
  117.    };
  118.    //鼠标移出,透明度还原
  119.    picMC.onRollOut = function() {
  120.     this._alpha = 100;
  121.    };
  122.    //单击图块时
  123.    picMC.onRelease = function() {
  124.     if (XA == -1 && YA == -1) {
  125.      //未选第1个图块时置当前单击图块为第1个图块
  126.      XA = this.X;
  127.      YA = this.Y;
  128.     } else {
  129.      //已选第1个图块时置当前单击图块为第2个图块
  130.      XB = this.X;
  131.      YB = this.Y;
  132.      var distance:Number = Math.abs(XB-XA)+Math.abs(YB-YA);
  133.      //distance<1:两个图块为同一位置图块,不作处理
  134.      //distance>1:两个图块不相邻,不作处理
  135.      //distance==1:两个图块相邻,交换位置
  136.      if (distance == 1) {
  137.       //调用changePos()交换两个图块的位置
  138.       changePos();
  139.       if (checkMatch()) {
  140.        //有3个以上的连续相同图块,消除之
  141.        while (checkMatch()) {
  142.        }
  143.        //继续检查和消除,直到不再有3个以上的连续相同图块
  144.       } else {
  145.        //没有3个以上的连续相同图块
  146.        XA ^= XB;
  147.        XB ^= XA;
  148.        XA ^= XB;
  149.        YA ^= YB;
  150.        YB ^= YA;
  151.        YA ^= YB;
  152.        //将两个图块交换回原来的位置
  153.        changePos();
  154.        //调用doUnmatchMove()显示动画:两个图块交换位置后回到各自的原来位置
  155.        doUnmatchMove(XA, YA, XB, YB);
  156.       }
  157.      }
  158.      initXY();
  159.     }
  160.    };
  161.    //加载图片
  162.    var innerMC:MovieClip = picMC.createEmptyMovieClip("innerMC", 1);
  163.    innerMC.loadMovie("img/"+matrix[j][i]+".jpg");
  164.   }
  165. }
  166. }
  167. //函数changePos()交换两个图块的位置
  168. function changePos() {
  169. matrix[YA][XA] ^= matrix[YB][XB];
  170. matrix[YB][XB] ^= matrix[YA][XA];
  171. matrix[YA][XA] ^= matrix[YB][XB];
  172. var mcA:MovieClip;
  173. var mcB:MovieClip;
  174. for (var i in _root) {
  175.   if ((_root[i].X == XA) && (_root[i].Y == YA)) {
  176.    mcA = _root[i];
  177.   }
  178.   if ((_root[i].X == XB) && (_root[i].Y == YB)) {
  179.    mcB = _root[i];
  180.   }
  181. }
  182. mcA._x ^= mcB._x;
  183. mcB._x ^= mcA._x;
  184. mcA._x ^= mcB._x;
  185. mcA._y ^= mcB._y;
  186. mcB._y ^= mcA._y;
  187. mcA._y ^= mcB._y;
  188. mcA.X ^= mcB.X;
  189. mcB.X ^= mcA.X;
  190. mcA.X ^= mcB.X;
  191. mcA.Y ^= mcB.Y;
  192. mcB.Y ^= mcA.Y;
  193. mcA.Y ^= mcB.Y;
  194. }
  195. //函数doUnmatchMove()显示两个图块交换位置并回到各自的原来位置的动画
  196. function doUnmatchMove(x0, y0, x1, y1) {
  197. var mc0:MovieClip;
  198. var mc1:MovieClip;
  199. for (var i in _root) {
  200.   if ((_root[i].X == x0) && (_root[i].Y == y0)) {
  201.    mc0 = _root[i];
  202.   }
  203.   if ((_root[i].X == x1) && (_root[i].Y == y1)) {
  204.    mc1 = _root[i];
  205.   }
  206. }
  207. mc0.MoveFlag = 1;
  208. mc1.MoveFlag = 1;
  209. mc0.onEnterFrame = function() {
  210.   if (this.MoveFlag>0) {
  211.    this._x += (x1-x0)/MOVEDELAY*W;
  212.    this._y += (y1-y0)/MOVEDELAY*W;
  213.    this._xscale -= 10;
  214.    this._yscale -= 10;
  215.    this.MoveFlag++;
  216.    if (this.MoveFlag == MOVEDELAY) {
  217.     this.MoveFlag = -1;
  218.    }
  219.   } else if (this.MoveFlag<0) {
  220.    this._x -= (x1-x0)/MOVEDELAY*W;
  221.    this._y -= (y1-y0)/MOVEDELAY*W;
  222.    this._xscale += 10;
  223.    this._yscale += 10;
  224.    this.MoveFlag--;
  225.    if (this.MoveFlag == -MOVEDELAY) {
  226.     this.MoveFlag = 0;
  227.    }
  228.   } else if (this.MoveFlag == 0) {
  229.    this._x = MARGIN_LEFT+x0*W;
  230.    this._y = MARGIN_TOP+y0*W;
  231.    this._xscale = 100;
  232.    this._yscale = 100;
  233.    delete this.onEnterFrame;
  234.   }
  235. };
  236. mc1.onEnterFrame = function() {
  237.   if (this.MoveFlag>0) {
  238.    this._x += (x0-x1)/MOVEDELAY*W;
  239.    this._y += (y0-y1)/MOVEDELAY*W;
  240.    this._xscale -= 10;
  241.    this._yscale -= 10;
  242.    this.MoveFlag++;
  243.    if (this.MoveFlag == MOVEDELAY) {
  244.     this.MoveFlag = -1;
  245.    }
  246.   } else if (this.MoveFlag<0) {
  247.    this._x -= (x0-x1)/MOVEDELAY*W;
  248.    this._y -= (y0-y1)/MOVEDELAY*W;
  249.    this._xscale += 10;
  250.    this._yscale += 10;
  251.    this.MoveFlag--;
  252.    if (this.MoveFlag == -MOVEDELAY) {
  253.     this.MoveFlag = 0;
  254.    }
  255.   } else if (this.MoveFlag == 0) {
  256.    this._x = MARGIN_LEFT+x1*W;
  257.    this._y = MARGIN_TOP+y1*W;
  258.    this._xscale = 100;
  259.    this._yscale = 100;
  260.    delete this.onEnterFrame;
  261.   }
  262. };
  263. }
  264. //函数checkMatch()检查图块矩阵中是否有3个以上的相同图块相连
  265. function checkMatch():Boolean {
  266. var pic:Number;
  267. var count:Number;
  268. //判断X方向上是否有3个以上的相同图块相连
  269. for (var i = ROW-1; i>=0; i--) {
  270.   pic = -1;
  271.   count = 0;
  272.   //针对每一行进行检查
  273.   for (var j = COL-1; j>=0; j--) {
  274.    if (pic == matrix[i][j] && pic != -1) {
  275.     count++;
  276.    } else {
  277.     pic = matrix[i][j];
  278.     if (count>=3) {
  279.      //调用deleteLine()清除相连图块
  280.      deleteLine("X", j+1, i, count);
  281.      return true;
  282.     }
  283.     count = 1;
  284.    }
  285.    if (j == 0 && count>=3) {
  286.     //调用deleteLine()清除相连图块
  287.     deleteLine("X", j, i, count);
  288.     return true;
  289.    }
  290.   }
  291. }
  292. //判断Y方向上是否有3个以上的相同图块相连
  293. for (var i = COL-1; i>=0; i--) {
  294.   pic = -1;
  295.   count = 0;
  296.   //针对每一列进行检查
  297.   for (var j = ROW-1; j>=0; j--) {
  298.    if (pic == matrix[j][i] && pic != -1) {
  299.     count++;
  300.    } else {
  301.     pic = matrix[j][i];
  302.     if (count>=3) {
  303.      deleteLine("Y", i, j+1, count);
  304.      return true;
  305.     }
  306.     count = 1;
  307.    }
  308.    if (j == 0 && count>=3) {
  309.     deleteLine("Y", i, j, count);
  310.     return true;
  311.    }
  312.   }
  313. }
  314. return false;
  315. }
  316. //函数deleteLine()删除3个图块以上的连接
  317. function deleteLine(orient:String, X, Y, L:Number) {
  318. //orient=="X":在X方向上连接
  319. if (orient == "X") {
  320.   //清除连通行
  321.   for (var i = 0; i<L; i++) {
  322.    matrix[Y][X+i] = -1;
  323.    for (var j in _root) {
  324.     if ((_root[j].X == X+i) && (_root[j].Y == Y)) {
  325.      //显示消失动画
  326.      doDisapear(_root[j]);
  327.     }
  328.    }
  329.   }
  330.   //连通行以上的图块下落一行
  331.   for (var i = 0; i<L; i++) {
  332.    for (var j in _root) {
  333.     if (_root[j].X == X+i && _root[j].Y<Y) {
  334.      _root[j]._y += W;
  335.      _root[j].Y += 1;
  336.     }
  337.    }
  338.   }
  339.   for (var i = 0; i<L; i++) {
  340.    //连通行以上的图块对应的数组下落一行
  341.    for (var j = Y; j>0; j--) {
  342.     matrix[j][X+i] = matrix[j-1][X+i];
  343.    }
  344.    //最顶行加新图块
  345.    PICIDX++;
  346.    var picMC:MovieClip = _root.createEmptyMovieClip("pic"+PICIDX, PICIDX);
  347.    picMC._x = MARGIN_LEFT+(X+i)*W;
  348.    picMC._y = MARGIN_TOP+0*W;
  349.    picMC.X = X+i;
  350.    picMC.Y = 0;
  351.    picMC.onRollOver = function() {
  352.     this._alpha = 50;
  353.    };
  354.    picMC.onRollOut = function() {
  355.     this._alpha = 100;
  356.    };
  357.    picMC.onRelease = function() {
  358.     if (XA == -1 && YA == -1) {
  359.      XA = this.X;
  360.      YA = this.Y;
  361.     } else {
  362.      XB = this.X;
  363.      YB = this.Y;
  364.      var distance:Number = Math.abs(XB-XA)+Math.abs(YB-YA);
  365.      if (distance == 1) {
  366.       changePos();
  367.       if (checkMatch()) {
  368.        while (checkMatch()) {
  369.        }
  370.       } else {
  371.        XA ^= XB;
  372.        XB ^= XA;
  373.        XA ^= XB;
  374.        YA ^= YB;
  375.        YB ^= YA;
  376.        YA ^= YB;
  377.        changePos();
  378.        doUnmatchMove(XA, YA, XB, YB);
  379.       }
  380.      }
  381.      initXY();
  382.     }
  383.    };
  384.    var rand:Number = Math.floor(Math.random()*PIC);
  385.    matrix[0][X+i] = Number(rand+1);
  386.    var innerMC:MovieClip = picMC.createEmptyMovieClip("innerMC", 1);
  387.    innerMC.loadMovie("img/"+matrix[0][X+i]+".jpg");
  388.   }
  389. }
  390. //orient=="Y":在Y方向上连接
  391. if (orient == "Y") {
  392.   //清除连通列
  393.   for (var i = 0; i<L; i++) {
  394.    matrix[Y+i][X] = -1;
  395.    for (var j in _root) {
  396.     if ((_root[j].X == X) && (_root[j].Y == Y+i)) {
  397.      //显示消失动画
  398.      doDisapear(_root[j]);
  399.     }
  400.    }
  401.   }
  402.   //连通列以上的图块下落L行
  403.   for (var j in _root) {
  404.    if (_root[j].X == X && _root[j].Y<Y) {
  405.     _root[j]._y += L*W;
  406.     _root[j].Y += L;
  407.    }
  408.   }
  409.   //连通行以上的图块对应的数组元素下落一行
  410.   for (var i = Y-1; i>=0; i--) {
  411.    matrix[i+L][X] = matrix[i][X];
  412.   }
  413.   for (var i = L-1; i>=0; i--) {
  414.    PICIDX += 1;
  415.    var picMC:MovieClip = _root.createEmptyMovieClip("pic"+PICIDX, PICIDX);
  416.    picMC._x = MARGIN_LEFT+X*W;
  417.    picMC._y = MARGIN_TOP+i*W;
  418.    picMC.X = X;
  419.    picMC.Y = i;
  420.    picMC.onRollOver = function() {
  421.     this._alpha = 50;
  422.    };
  423.    picMC.onRollOut = function() {
  424.     this._alpha = 100;
  425.    };
  426.    picMC.onRelease = function() {
  427.     if (XA == -1 && YA == -1) {
  428.      XA = this.X;
  429.      YA = this.Y;
  430.     } else {
  431.      XB = this.X;
  432.      YB = this.Y;
  433.      var distance:Number = Math.abs(XB-XA)+Math.abs(YB-YA);
  434.      if (distance == 1) {
  435.       changePos();
  436.       if (checkMatch()) {
  437.        while (checkMatch()) {
  438.        }
  439.       } else {
  440.        XA ^= XB;
  441.        XB ^= XA;
  442.        XA ^= XB;
  443.        YA ^= YB;
  444.        YB ^= YA;
  445.        YA ^= YB;
  446.        changePos();
  447.        doUnmatchMove(XA, YA, XB, YB);
  448.       }
  449.      }
  450.      initXY();
  451.     }
  452.    };
  453.    var rand:Number = Math.floor(Math.random()*PIC);
  454.    matrix[i][X] = Number(rand+1);
  455.    var innerMC:MovieClip = picMC.createEmptyMovieClip("innerMC", 1);
  456.    innerMC.loadMovie("img/"+matrix[i][X]+".jpg");
  457.   }
  458. }
  459. }
  460. //函数doDisapear()显示图块的消失动画
  461. function doDisapear(obj:MovieClip) {
  462. delete obj.onRollOver;
  463. delete obj.onRollOut;
  464. obj.onEnterFrame = function() {
  465.   obj.swapDepths(_root.getNextHighestDepth()-1);
  466.   this._xscale -= 100/DISADELAY;
  467.   this._yscale -= 100/DISADELAY;
  468.   if (this._xscale<=0) {
  469.    //删除图块
  470.    this.removeMovieClip();
  471.    //得分加1
  472.    SCORE++;
  473.    _root.txtScore.text = SCORE;
  474.   }
  475. };
  476. }
  477. //添加右键菜单
  478. var myMenu = new ContextMenu();
  479. myMenu.hideBuiltInItems();
  480. myMenu.customItems.push(new ContextMenuItem("重新开始", againStart));
  481. _root.menu = myMenu;
  482. //函数againStart()重新开始游戏
  483. function againStart(obj:Object, menu:ContextMenu) {
  484. //调用clearPic()删除图块
  485. clearPic();
  486. //调用initGrid()初始化游戏
  487. initGrid();
  488. }
复制代码
flash游戏对对碰源代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

 楼主| 53866484 发表于 2008-10-24 03:33:56 | 显示全部楼层
泡泡龙游戏源码(javascript)

在网上找到的小游戏,做得非常的可爱,喜欢泡泡龙的玩家不妨试试这款网页版的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

thl23499978 发表于 2008-10-24 17:17:32 | 显示全部楼层
  支持
回复

使用道具 举报

thl23499978 发表于 2008-10-24 17:18:35 | 显示全部楼层
我的邮箱是  749327@qq.com
    谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-25 12:22 , Processed in 0.025606 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表