疯狂的方块

news2024/11/16 19:36:22

欢迎来到程序小院

疯狂的方块

玩法:两个以上相同颜色的方块连在一起,点击即可消除,不要让方块到达顶部,消除底部方块哦^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/263

html

<div id="gameDiv">
<canvas id="gameCanvas" width="480" height="640"></canvas>
</div>

css

body {
  text-align: center;
  background: #fff;
  padding: 0;
  border: 0;
  margin: 0;
  height: 100%;
}
html {
  -ms-touch-action: none;
}
.aliForPc {
  display:none;
  position:fixed;
  top:5px;
  right:5px;
  width:200px;
  height:230px;
  overflow:hidden;
  z-index:99999;
}

js

!function(){
  window.egret = {};
  (function(b) {
      var d = function() {
          function b() {
              this._hashCode = b.hashCount++
          }
          Object.defineProperty(b.prototype, "hashCode", {
              get: function() {
                  return this._hashCode
              },
              enumerable: !0,
              configurable: !0
          });
          b.hashCount = 1;
          return b
      }();
      b.HashObject = d;
      d.prototype.__class__ = "egret.HashObject"
  })(egret);
  var __extends = this.__extends || function(b, d) {
      function c() {
          this.constructor = b
      }
      for (var a in d) d.hasOwnProperty(a) && (b[a] = d[a]);
      c.prototype = d.prototype;
      b.prototype = new c
  };
  (function(b) {
      var d = function(b) {
          function a(e) {
              "undefined" === typeof e && (e = 300);
              b.call(this);
              this.objectPool = [];
              this._length = 0;
              1 > e && (e = 1);
              this.autoDisposeTime = e;
              this.frameCount = 0
          }
          __extends(a, b);
          a.prototype._checkFrame = function() {
              this.frameCount--;
              0 >= this.frameCount && this.dispose()
          };
          Object.defineProperty(a.prototype, "length", {
              get: function() {
                  return this._length
              },
              enumerable: !0,
              configurable: !0
          });
          a.prototype.push = function(e) {
              var h = this.objectPool; - 1 == h.indexOf(e) && (h.push(e), 
              this._length++, 0 == this.frameCount &&
                  (this.frameCount = this.autoDisposeTime, a._callBackList.push(this)))
          };
          a.prototype.pop = function() {
              if (0 == this._length) return null;
              this._length--;
              return this.objectPool.pop()
          };
          a.prototype.dispose = function() {
              0 < this._length && (this.objectPool = [], this._length = 0);
              this.frameCount = 0;
              var e = a._callBackList,
                  h = e.indexOf(this); - 1 != h && e.splice(h, 1)
          };
          a._callBackList = [];
          return a
      }(b.HashObject);
      b.Recycler = d;
      d.prototype.__class__ = "egret.Recycler"
  })(egret);
  (function(b) {
      b.__START_TIME;
      b.getTimer = function() {
          return Date.now() - b.__START_TIME
      }
  })(egret);
  (function(b) {
      b.__callLaterFunctionList = [];
      b.__callLaterThisList = [];
      b.__callLaterArgsList = [];
      b.callLater = function(d, c) {
          for (var a = [], e = 0; e < arguments.length - 2; e++) a[e] = arguments[e + 2];
          b.__callLaterFunctionList.push(d);
          b.__callLaterThisList.push(c);
          b.__callLaterArgsList.push(a)
      }
  })(egret);
  __extends = this.__extends || function(b, d) {
      function c() {
          this.constructor = b
      }
      for (var a in d) d.hasOwnProperty(a) && (b[a] = d[a]);
      c.prototype = d.prototype;
      b.prototype = new c
  };
  (function(b) {
      var d = function(c) {
          function a(e, a, m) {
              "undefined" === typeof a && (a = !1);
              "undefined" === typeof m && (m = !1);
              c.call(this);
              this._eventPhase = 2;
              this._isPropagationImmediateStopped = this._isPropagationStopped = 
              this._isDefaultPrevented = !1;
              this.isNew = !0;
              this._type = e;
              this._bubbles = a;
              this._cancelable = m
          }
          __extends(a, c);
          Object.defineProperty(a.prototype, "type", {
              get: function() {
                  return this._type
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "bubbles", {
              get: function() {
                  return this._bubbles
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "cancelable", {
              get: function() {
                  return this._cancelable
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "eventPhase", {
              get: function() {
                  return this._eventPhase
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "currentTarget", {
              get: function() {
                  return this._currentTarget
              },
              enumerable: !0,
              configurable: !0
          });
          a.prototype._setCurrentTarget = function(e) {
              this._currentTarget = e
          };
          Object.defineProperty(a.prototype, "target", {
              get: function() {
                  return this._target
              },
              enumerable: !0,
              configurable: !0
          });
          a.prototype.isDefaultPrevented = function() {
              return this._isDefaultPrevented
          };
          a.prototype.preventDefault = function() {
              this._cancelable && (this._isDefaultPrevented = !0)
          };
          a.prototype.stopPropagation = function() {
              this._bubbles && (this._isPropagationStopped = !0)
          };
          a.prototype.stopImmediatePropagation = function() {
              this._bubbles && (this._isPropagationImmediateStopped = !0)
          };
          a.prototype._reset = function() {
              this.isNew ? this.isNew = !1 : (this._isPropagationImmediateStopped =
                  this._isPropagationStopped = this._isDefaultPrevented = !1,
                  this._currentTarget = this._target = null, this._eventPhase = 2)
          };
          a._dispatchByTarget = function(e, a, m, c, d, g) {
              "undefined" === typeof d && (d = !1);
              "undefined" === typeof g && (g = !1);
              var k = e.eventRecycler;
              k || (k = e.eventRecycler = new b.Recycler);
              var n = k.pop();
              n ? n._type = m : n = new e(m);
              n._bubbles = d;
              n._cancelable = g;
              if (c)
                  for (var p in c) n[p] = c[p], null !== n[p] && (c[p] = null);
              e = a.dispatchEvent(n);
              k.push(n);
              return e
          };
          a._getPropertyData = function(e) {
              var a = e._props;
              a || (a = e._props = {});
              return a
          };
          a.dispatchEvent = function(e, h, m, b) {
              "undefined" === typeof m && (m = !1);
              var c = a._getPropertyData(a);
              b && (c.data = b);
              a._dispatchByTarget(a, e, h, c, m)
          };
          a.ADDED_TO_STAGE = "addedToStage";
          a.REMOVED_FROM_STAGE = "removedFromStage";
          a.ADDED = "added";
          a.REMOVED = "removed";
          a.COMPLETE = "complete";
          a.ENTER_FRAME = "enterFrame";
          a.RENDER = "render";
          a.FINISH_RENDER = "finishRender";
          a.FINISH_UPDATE_TRANSFORM = "finishUpdateTransform";
          a.LEAVE_STAGE = "leaveStage";
          a.RESIZE = "resize";
          a.CHANGE = "change";
          return a
      }(b.HashObject);
      b.Event =
          d;
      d.prototype.__class__ = "egret.Event"
  })(egret);
  __extends = this.__extends || function(b, d) {
      function c() {
          this.constructor = b
      }
      for (var a in d) d.hasOwnProperty(a) && (b[a] = d[a]);
      c.prototype = d.prototype;
      b.prototype = new c
  };
  (function(b) {
      var d = function(c) {
          function a(e, a, m) {
              "undefined" === typeof a && (a = !1);
              "undefined" === typeof m && (m = !1);
              c.call(this, e, a, m)
          }
          __extends(a, c);
          a.dispatchIOErrorEvent = function(e) {
              b.Event._dispatchByTarget(a, e, a.IO_ERROR)
          };
          a.IO_ERROR = "ioError";
          return a
      }(b.Event);
      b.IOErrorEvent = d;
      d.prototype.__class__ = "egret.IOErrorEvent"
  })(egret);
  __extends = this.__extends || function(b, d) {
      function c() {
          this.constructor = b
      }
      for (var a in d) d.hasOwnProperty(a) && (b[a] = d[a]);
      c.prototype = d.prototype;
      b.prototype = new c
  };
  (function(b) {
      var d = function(c) {
          function a(e, a, m, b, d, g, k, n, p, q) {
              "undefined" === typeof a && (a = !0);
              "undefined" === typeof m && (m = !0);
              "undefined" === typeof b && (b = 0);
              "undefined" === typeof d && (d = 0);
              "undefined" === typeof g && (g = 0);
              "undefined" === typeof k && (k = !1);
              "undefined" === typeof n && (n = !1);
              "undefined" === typeof q && (q = !1);
              c.call(this, e, a, m);
              this._localY = this._localX = this._stageY = this._stageX = 0;
              this.touchPointID = b;
              this._stageX = d;
              this._stageY = g;
              this.ctrlKey = k;
              this.altKey = n;
              this.touchDown = q
          }
          __extends(a, c);
          Object.defineProperty(a.prototype,
              "stageX", {
                  get: function() {
                      return this._stageX
                  },
                  enumerable: !0,
                  configurable: !0
              });
          Object.defineProperty(a.prototype, "stageY", {
              get: function() {
                  return this._stageY
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "localX", {
              get: function() {
                  return this._localX
              },
              enumerable: !0,
              configurable: !0
          });
          Object.defineProperty(a.prototype, "localY", {
              get: function() {
                  return this._localY
              },
              enumerable: !0,
              configurable: !0
          });
          a.prototype._setCurrentTarget = function(e) {
              c.prototype._setCurrentTarget.call(this, e);
              e instanceof
                  b.DisplayObject && (e = e.globalToLocal(this._stageX, this._stageY, 
                  b.Point.identity), this._localX = e.x, this._localY = e.y)
          };
          a.dispatchTouchEvent = function(e, h, m, c, d, g, k, n, p) {
              "undefined" === typeof m && (m = 0);
              "undefined" === typeof c && (c = 0);
              "undefined" === typeof d && (d = 0);
              "undefined" === typeof g && (g = !1);
              "undefined" === typeof k && (k = !1);
              "undefined" === typeof n && (n = !1);
              "undefined" === typeof p && (p = !1);
              var q = b.Event._getPropertyData(a);
              q.touchPointID = m;
              q._stageX = c;
              q._stageY = d;
              q.ctrlKey = g;
              q.altKey = k;
              q.shiftKey = n;
              q.touchDown =
                  p;
              b.Event._dispatchByTarget(a, e, h, q, !0, !0)
          };
          a.TOUCH_TAP = "touchTap";
          a.TOUCH_MOVE = "touchMove";
          a.TOUCH_BEGIN = "touchBegin";
          a.TOUCH_END = "touchEnd";
          a.TOUCH_RELEASE_OUTSIDE = "touchReleaseOutside";
          a.TOUCH_ROLL_OUT = "touchRollOut";
          a.TOUCH_ROLL_OVER = "touchRollOver";
          a.TOUCH_OUT = "touchOut";
          a.TOUCH_OVER = "touchOver";
          return a
      }(b.Event);
      b.TouchEvent = d;
      d.prototype.__class__ = "egret.TouchEvent"
  })(egret);
  __extends = this.__extends || function(b, d) {
      function c() {
          this.constructor = b
      }
      for (var a in d) d.hasOwnProperty(a) && (b[a] = d[a]);
      c.prototype = d.prototype;
      b.prototype = new c
  };
  (function(b) {
      var d = function(c) {
          function a(e, a, m) {
              "undefined" === typeof a && (a = !1);
              "undefined" === typeof m && (m = !1);
              c.call(this, e, a, m)
          }
          __extends(a, c);
          a.dispatchTimerEvent = function(e, h) {
              b.Event._dispatchByTarget(a, e, h)
          };
          a.TIMER = "timer";
          a.TIMER_COMPLETE = "timerComplete";
          return a
      }(b.Event);
      b.TimerEvent = d;
      d.prototype.__class__ = "egret.TimerEvent"
  })(egret);

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1420002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fiber学习

React原理&#xff1a;通俗易懂的 Fiber - 掘金

nacos启动失败解决

报错信息 Caused by: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,937 > 2,048). You can change this value on the server by setting the ‘max_allowed_packet’ variable. 情景复现 最近使用mac正在运行一个nacos的spri…

treeview

QML自定义一个TreeView&#xff0c;使用ListView递归 在 Qt5 的 QtQuick.Controls 2.x 中还没有 TreeView 这个控件&#xff08;在 Qt6 中出了一个继承自 TableView 的 TreeView&#xff09;&#xff0c;而且 QtQuick.Controls 1.x 中的也需要配合 C model 来自定义&#xff0c…

Win10 双网卡实现同时上内外网

因为需要同时上内网和外网&#xff0c;但公司做了网络隔离&#xff0c;不能同时上内外网&#xff0c;所以多加了块无线网卡&#xff0c;配置双网关实现同时上内外网&#xff0c;互不影响 打开 Windows PowerShell&#xff08;管理员&#xff09;&#xff0c;输入&#xff1a;ro…

Github 2024-01-30 开源项目日报 Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-30统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目4TypeScript项目2Jupyter Notebook项目2HTML项目1Rust项目1C项目1 稳定扩散Web UI 创建周期&…

C++核心编程:类和对象 笔记

4.类和对象 C面向对象的三大特性为:封装,继承,多态C认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 例如&#xff1a; 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重...,行为有走、跑、跳、说话...车可以作为对象&#xff0c;属性有轮胎、方向盘、车灯…

万兆网络数据传输-scp加速

在万兆甚至更高的网络带宽场景下 scp 的传输效率并不如人意。毕竟 scp 是旧时代的产物&#xff0c;那时千兆网络都很罕见。以下通过修改压缩方式的方法提升数据的传输速度。同时也采用 nc &#xff0c; bbcp 和 rsync 进行了对比测试。 目录 scp采用默认方式更改压缩算法为 aes…

seata 分布式

一、下载安装seata 已经下载好的朋友可以跳过这个步骤。这里下载的是seata1.6.1这个版本。 1、进入seata官网 地址&#xff1a; https://seata.io/zh-cn/index.html 2、进入下载 3、点击下载地址 下载地址&#xff1a; https://github.com/seata/seata 二、配置seata 进入c…

vue3项目中让echarts适应div的大小变化,跟随div的大小改变图表大小

目录如下 我的项目环境如下利用element-resize-detector插件监听元素大小变化element-resize-detector插件的用法完整代码如下&#xff1a;结果如下 在做项目的时候&#xff0c;经常会使用到echarts&#xff0c;特别是在做一些大屏项目的时候。有时候我们是需要根据div的大小改…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷9

某企业根据自身业务需求&#xff0c;实施数字化转型&#xff0c;规划和建设数字化平台&#xff0c;平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”&#xff0c;拟采用开源OpenStack搭建企业内部私有云平台&#xff0c;开源Kubernetes搭建云原生服务平台&#xff0c;选…

redis—Zset有序集合

目录 前言 1.常见命令 2.使用场景 3.渐进式遍历 4.数据库管理 前言 有序集合相对于字符串、列表、哈希、集合来说会有一-些陌生。它保留了集合不能有重复成员的 特点&#xff0c;但与集合不同的是&#xff0c;有序集合中的每个元素都有-个唯- -的浮 点类型的分数(score) …

c语言常量详解 全

c语言常量详解 全 一 常量的基本概念及分类二 常量的存储方式三 c语言常量和变量的具体区别四 字面常量详解4.1 常见类型的字面常量及其示例&#xff1a;4.2 字面常量的使用情况4.3 字面常量的优点 五 const 关键字常量详解5.1 const关键字在C语言中的使用情况&#xff1a;5.2 …

山海鲸可视化大屏:引领企业洞悉市场,提升客户价值的秘密武器

随着大数据时代的到来&#xff0c;企业面临着前所未有的机遇与挑战。如何从海量数据中挖掘出有价值的信息&#xff0c;洞察市场趋势&#xff0c;提升客户价值&#xff0c;成为了企业发展的重要课题。山海鲸可视化企业客户价值分析大屏&#xff0c;为企业提供了一个全新的解决方…

利用外卖系统源码构建高效的在线订餐平台

在当今数字化时代&#xff0c;外卖服务已成为人们日常生活中不可或缺的一部分。为了满足用户需求&#xff0c;许多创业者和企业都希望搭建自己的在线订餐平台。利用现有的外卖系统源码&#xff0c;可以快速构建一个高效、安全的在线订餐平台。本文将介绍如何利用外卖系统源码来…

播报 | 天空卫士入围FreeBuf《CCSIP 2023中国网络安全产业全景图》16个细分领域

2024年1月24&#xff0c;国内安全行业门户FreeBuf旗下FreeBuf咨询正式发布《CCSIP 2023中国网络安全产业全景图》&#xff08;第六版&#xff09;。 天空卫士成功入围SASE、数据防泄露&#xff08;DLP&#xff09;、分类分级、数据安全治理(解决方案)、数据安全管控&#xff08…

Django问题报错:Cannot resolve keyword ‘name‘ into field. Choices are: course, id

笔者在进行登录注册实验用户名已经注册过的操作时报错 一、错误位置 二、问题原因 使用Student模型时参数名错误 三、解决办法 修改为与Student模型中对应的参数名,问题解决

每日一题 力扣514自由之路

514. 自由之路 题目描述&#xff1a; 电子游戏“辐射4”中&#xff0c;任务 “通向自由” 要求玩家到达名为 “Freedom Trail Ring” 的金属表盘&#xff0c;并使用表盘拼写特定关键词才能开门。 给定一个字符串 ring &#xff0c;表示刻在外环上的编码&#xff1b;给定另一…

插值(Python)

插值 插值是数学和计算机科学领域中的一种技术&#xff0c;用于在给定一些离散数据点的情况下&#xff0c;估计在这些点之间的数值。插值的目标是通过某种函数&#xff08;插值函数&#xff09;来逼近或拟合这些离散数据&#xff0c;从而使得在原始数据点之间的数值也有合理的估…

物流信息网

技术架构&#xff1a; JSPMySQL 功能描述&#xff1a; 物流信息网主要用于实现网上自主物流&#xff0c;基本功能包括&#xff1a;登录、查询、时效查询、价格查询、注册等。本系统结构如下&#xff1a; &#xff08;1&#xff09;普通用户&#xff1a; 登录&#xff1a…

GIS毕业的那10000人,你们都在做什么?

根据阳光高考网&#xff08;教育部指定高校招生平台&#xff09;的数据显示&#xff0c;截止到2022年12月31日&#xff0c;全国高校GIS&#xff08;地理信息科学&#xff09;本科毕业生人数为&#xff1a;9000-10000人。 我们还可以看到&#xff0c;地信专业的男女比例为&#…