斑马斑马跳

news2024/9/21 10:52:31

欢迎来到程序小院

斑马斑马跳

玩法:行走的斑马,点击鼠标左键斑马左右跳动,左右两侧有大树,和移动的小鸟,
撞到大树和小鸟游戏结束,统计分数,快去斑马跳吧^^。

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

html

<canvas id="c2canvas" width="720" height="1280">

css

html, body {
  background: #fff;
  color: #fff;
  overflow: hidden;
  touch-action: none;
  -ms-touch-action: none;
}
canvas {
  touch-action-delay: none;
  touch-action: none;
  -ms-touch-action: none;
}

js

function s() {
 return function () {}

}
function aa(a) {
 return function (c) {
  this[a] = c
 }
}
function w(a) {
 return function () {
  return this[a]
 }
}
function x(a) {
 return function () {
  return a
 }
}
var z, ca, da, ea, fa, ia, ja, ka, la, ma, na, oa, pa, qa, ra, sa, ta, ua, va, wa, xa, ya,
za, Aa, Ba, Ca, Da, Ea, Fa, Ga, Ha, Ia, Ja, Ka, La, Ma, Na, Oa, Pa, Qa, Ra, Sa, Va, Wa, Xa,
Ya, ab, bb, cb, db, eb, fb, gb, hb, ib, kb, lb, mb, nb, ob, pb, tb, ub, vb, wb, xb, yb, zb,
Ab, Bb, Cb, Db, Eb, Fb, Gb, Hb, Ib, Jb, Nb, Ob, Pb, Qb, Rb, Sb, Tb, Ub, Vb, Wb, Xb, Yb, Zb 
= {};
"function" !== typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === 
typeof "test".__proto__ ? function (a) {
 return a.__proto__
}
  : function (a) {
 return a.constructor.prototype
});
(function () {
 function a(a, b, c, d) {
  this.set(a, b, c, d)
 }
 function c() {
  this.ud = this.td = this.wd = this.vd = this.Ed = this.Dd = this.jc = this.ic = 0
 }
 function b(a, b, c, d) {
  a < b ? c < d ? (n = a < c ? a : c, k = b > d ? b : d) : (n = a < d ? a : d, k = b > 
    c ? b : c) : c < d ? (n = b < c ? b : c, k = a > d ? a : d) : (n = b < d ? b : d, 
    k = a > c ? a : c)
 }
 function d() {
  this.Lh = this.fh = null;
  this.ml = 0;
  v && (this.fh = new Set);
  this.Wl = [];
  this.Ei = !0
 }
 function e(a) {
  u[y++] = a
 }
 function f() {
  this.Cb = this.mr = this.y = this.F = 0
 }
 function g(a) {
  this.Ec = [];
  this.$o = this.cp = this.dp = this.bp = 0;
  this.vp = null;
  this.ao(a)
 }
 function h(a, b) {
  this.ZB =
   a;
  this.YB = b;
  this.cells = {}

 }
 function m(a, b, c) {
  var d;
  return F.length ? (d = F.pop(), d.LD = a, d.x = b, d.y = c, d) : new da(a, b, c)
 }
 function l(a, b, c) {
  this.LD = a;
  this.x = b;
  this.y = c;
  this.Ln = new ea
 }
 fa = function (a) {
  window.console && window.console.log && window.console.log(a)
 };
 ca = function (a) {
  return a
 };
 ia = function (a) {
  return "undefined" === typeof a
 };
 ja = function (a) {
  return "number" === typeof a
 };
 ka = function (a) {
  return "string" === typeof a
 };
 la = function (a) {
  return 0 < a && 0 === (a - 1 & a)
 };
 ma = function (a) {
  --a;
  for (var b = 1; 32 > b; b <<= 1)
   a |= a >> b;
  return a +
  1
 };
 na = function (a) {
  return 0 > a ? -a : a
 };
 oa = function (a, b) {
  return a > b ? a : b
 };
 pa = function (a, b) {
  return a < b ? a : b
 };
 qa = Math.PI;
 ra = function (a) {
  return a + 0.5 | 0
 };
 sa = function (a) {
  return 0 <= a ? a | 0 : (a | 0) - 1
 };
 ta = function (a) {
  var b = a | 0;
  return b === a ? b : b + 1
 };
 ua = function (a, b, c, d, f, k, e, r) {
  var g,
  h,
  u,
  l;
  a < c ? (h = a, g = c) : (h = c, g = a);
  f < e ? (l = f, u = e) : (l = e, u = f);
  if (g < l || h > u)
   return !1;
  b < d ? (h = b, g = d) : (h = d, g = b);
  k < r ? (l = k, u = r) : (l = r, u = k);
  if (g < l || h > u)
   return !1;
  g = f - a + e - c;
  h = k - b + r - d;
  a = c - a;
  b = d - b;
  f = e - f;
  k = r - k;
  r = na(b * f - k * a);
  return na(f * h - k * g) > r ? !1 : na(a * h - b * g) <=
  r
 };
 a.prototype.set = function (a, b, c, d) {
  this.left = a;
  this.top = b;
  this.right = c;
  this.bottom = d
 };
 a.prototype.copy = function (a) {
  this.left = a.left;
  this.top = a.top;
  this.right = a.right;
  this.bottom = a.bottom
 };
 a.prototype.width = function () {
  return this.right - this.left
 };
 a.prototype.height = function () {
  return this.bottom - this.top
 };
 a.prototype.offset = function (a, b) {
  this.left += a;
  this.top += b;
  this.right += a;
  this.bottom += b;
  return this
 };
 a.prototype.normalize = function () {
  var a = 0;
  this.left > this.right && (a = this.left, this.left = this.right,
   this.right = a);
  this.top > this.bottom && (a = this.top, this.top = this.bottom, this.bottom = a)
 };
 a.prototype.SD = function (a) {
  return !(a.right < this.left || a.bottom < this.top || a.left > this.right || 
    a.top > this.bottom)
 };
 a.prototype.TD = function (a, b, c) {
  return !(a.right + b < this.left || a.bottom + c < this.top || a.left + b > this.right
    || a.top + c > this.bottom)
 };
 a.prototype.Fe = function (a, b) {
  return a >= this.left && a <= this.right && b >= this.top && b <= this.bottom
 };
 a.prototype.JC = function (a) {
  return this.left === a.left && this.top === a.top && this.right === a.right &&
  this.bottom === a.bottom
 };
 va = a;
 c.prototype.$n = function (a) {
  this.ic = a.left;
  this.jc = a.top;
  this.Dd = a.right;
  this.Ed = a.top;
  this.vd = a.right;
  this.wd = a.bottom;
  this.td = a.left;
  this.ud = a.bottom
 };
 c.prototype.Dz = function (a, b) {
  if (0 === b)
   this.$n(a);
  else {
   var c = Math.sin(b),
   d = Math.cos(b),
   f = a.left * c,
   k = a.top * c,
   e = a.right * c,
   c = a.bottom * c,
   r = a.left * d,
   g = a.top * d,
   h = a.right * d,
   d = a.bottom * d;
   this.ic = r - k;
   this.jc = g + f;
   this.Dd = h - k;
   this.Ed = g + e;
   this.vd = h - c;
   this.wd = d + e;
   this.td = r - c;
   this.ud = d + f
  }
 };
 c.prototype.offset = function (a, b) {
  this.ic += a;
  this.jc += b;
  this.Dd += a;
  this.Ed += b;
  this.vd += a;
  this.wd += b;
  this.td += a;
  this.ud += b;
  return this
 };
 var n = 0,
 k = 0;
 c.prototype.$w = function (a) {
  b(this.ic, this.Dd, this.vd, this.td);
  a.left = n;
  a.right = k;
  b(this.jc, this.Ed, this.wd, this.ud);
  a.top = n;
  a.bottom = k
 };
 c.prototype.Fe = function (a, b) {
  var c = this.Dd - this.ic,
  d = this.Ed - this.jc,
  f = this.vd - this.ic,
  k = this.wd - this.jc,
  e = a - this.ic,
  r = b - this.jc,
  g = c * c + d * d,
  h = c * f + d * k,
  d = c * e + d * r,
  u = f * f + k * k,
  l = f * e + k * r,
  y = 1 / (g * u - h * h),
  c = (u * d - h * l) * y,
  g = (g * l - h * d) * y;
  if (0 <= c && 0 < g && 1 > c + g)
   return !0;
  c = this.td - this.ic;
  d = this.ud - this.jc;
  g = c * c + d * d;
  h = c * f + d * k;
  d = c * e + d * r;
  y = 1 / (g * u - h * h);
  c = (u * d - h * l) * y;
  g = (g * l - h * d) * y;
  return 0 <= c && 0 < g && 1 > c + g
 };
 c.prototype.Bi = function (a, b) {
  if (b)
   switch (a) {
   case 0:
    return this.ic;
   case 1:
    return this.Dd;
   case 2:
    return this.vd;
   case 3:
    return this.td;
   case 4:
    return this.ic;
   default:
    return this.ic
   }
  else
   switch (a) {
   case 0:
    return this.jc;
   case 1:
    return this.Ed;
   case 2:
    return this.wd;
   case 3:
    return this.ud;
   case 4:
    return this.jc;
   default:
    return this.jc
   }
 };
 c.prototype.ej = function () {
  return (this.ic + this.Dd + this.vd + this.td) /
  4
 };
 c.prototype.fj = function () {
  return (this.jc + this.Ed + this.wd + this.ud) / 4
 };

源码

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

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

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

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

相关文章

2024农历新年是什么时候?电脑如何设置农历新年提醒

元旦的钟声已经远去&#xff0c;2024年的阳历新年就这样悄无声息地开始了。但对于我们很多人来说&#xff0c;真正的“过年”氛围&#xff0c;还得等到农历新年的到来。那么&#xff0c;今年的农历新年究竟是什么时候呢&#xff1f;答案是2月10日。 每当想到农历新年&#xff…

浅析进程优先级(上)

什么是进程优先级&#xff1f; 进程优先级&#xff1a;将处理器资源分配给进程的先后顺序 Linux 中每个进程都有相应的优先级 (优先级可能动态改变) 进程优先级决定进程 何时执行 和 获得处理器的时间 进程优先级通常表现为一个整数值 (数值大小决定优先级高低) Linux 中的…

寻找两个相交链表的相交节点

分析&#xff1a; 如图所示&#xff0c; A 长度为mkB长度为nk张三&#xff0c;李四两人分别从A和B的起始点相同速度出发&#xff0c;无论谁到达终点时&#xff0c;都从另一条队列的起点再次出发。假定起始&#xff0c;张三沿着A走&#xff0c;李四沿着B走。当李四到达终点后&a…

计算机毕业设计选题分享-node.js旅游景点分享网站03796(赠送源码数据库)JAVA、PHP,node.js,C++、python,大屏数据可视化等

node.js旅游景点分享网站 摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。旅游景点分享网站设计&#xff0c;主要的模块包括查看后台首页、轮播图&#xff08;轮播图管理&#xff09;、网站公告…

list-watch和节点亲和性和node亲和性

k8s的集群调度 scheduler:负责调度资源&#xff0c;把pod调度到node节点 预算策略 优先策略 1、list-watch k8s集群当中&#xff0c;通过list-watch的机制进行每个组件的协作&#xff0c;保持数据同步&#xff0c;每个组件之间解耦 kubectl配置文件&#xff0c;向APIserv…

城堡世界定制

城堡世界是一款移动应用程序&#xff0c;通常在手机上使用。 该游戏的主要功能丰富多样&#xff0c;用户可以通过购买不同的城堡卡来开启自己的城堡&#xff0c;这不仅可以满足玩家对个性化的追求&#xff0c;还可以让玩家在游戏中获得更多的乐趣。 作为一家专注于互联网领域的…

Linux进程通信——system V进程间通信

目录 system V共享内存 共享内存的原理 共享内存的建立与释放 共享内存的创建 shmget 共享内存的释放 shmctl 共享内存的关联 shmat 共享内存的去关联 shmdt 用共享内存实现serve和client的简单通信 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的…

分治法:分而治之

排序算法中的快速排序&#xff0c;归并排序都用了分治思想 题目描述&#xff1a; 题目地址&#xff1a;LeetCode 50 数组中的第K个最大元素 题目描述&#xff1a; 题目地址&#xff1a;LeetCode 215

基于ssm的高校智能培训管理系统分析与设计论文

摘 要 如今的年代&#xff0c;已经是步入信息社会了&#xff0c;不仅信息更新速度频繁&#xff0c;信息量也大&#xff0c;在信息时代必须有相应的处理信息的方法&#xff0c;如果还采用以前的结绳记事或者笔写纸记&#xff0c;不仅是信息录入效率上赶不上节奏&#xff0c;在信…

Superset二次开发之提高Charts下载图片分辨率

需求:图片变高清 现状:Charts下载图片功能,下载的图片分辨率太差,用户体验不友好 源码分析 路径1:superset-frontend/src/dashboard/components/SliceHeaderControls/index.tsx接口1:DOWNLOAD_AS_IMAGE路径2:superset-frontend/src/utils/downloadAsImage.ts接口2:d…

VmWare虚拟机的安装

VmWare官方最新版下载地址 vmware官方下载地址 安装流程 安装成功验证 安装完成之后&#xff0c;打开网络中心&#xff0c;一定要确认这里多出两个网络连接&#xff0c;才证明Vmware已经安装成功

静态网页设计——千姿百色旅游网(HTML+CSS+JavaScript)(dw、sublime Text、webstorm、HBuilder X)

前言 声明&#xff1a;该文章只是做技术分享&#xff0c;若侵权请联系我删除。&#xff01;&#xff01; 感谢大佬的视频&#xff1a; https://www.bilibili.com/video/BV1oe411m7kH/?vd_source5f425e0074a7f92921f53ab87712357b 源码&#xff1a;https://space.bilibili.co…

编码数据集生成框架 UnitGen 0.4.0:代码文档生成、测试代码生成

UnitGen 是我们从 UnitEval 拆分出来的代码数据集生成项目&#xff0c;旨在为基于开源模型供的私有化部署提供更好的编码数据集。 在结合开源模型 AutoDev 插件之后&#xff0c;你可以使用 UnitGen 结合企业内部现有的代码生成微调数据集&#xff0c;以让模型生成的代码更适合…

【大数据进阶第三阶段之Hive学习笔记】Hive安装

目录 1、环境准备 2、下载安装 3、配置环境变量 4、配置文件 4.1、配置hive-env.sh ​编辑4.2、配置hive-site.xml 5、上传配置jar 6、启动 1、环境准备 安装hadoop 以及 zookeeper、mysql 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建-CSDN博客 《z…

AntDB内存管理之内存上下文之如何使用内存上下文

5.如何使用内存上下文 使用内存上下文之前&#xff0c;我们需要先对其进行创建。AntDB启动时已经创建并初始化好了部分内存上下文&#xff0c;例如&#xff1a;TopMemoryContext。这个TopMemoryContext是所有内存上下文的父节点或者祖先节点。一般我们创建的内存上下文都在Top…

【docker笔记】Docker容器数据卷

Docker容器数据卷 卷就是目录或者文件&#xff0c;存在于一个或多个容器中&#xff0c;由docker挂载到容器&#xff0c;但不属于联合文件系统&#xff0c;因此能够绕过Union File System提供一些用于持续存储或共享数据的特性 卷的设计目的就是数据的持久化&#xff0c;完全独…

西南地区直播产业市场规模分析,透视成都直播基地产业全景

直播电商已进入全民化发展&#xff0c;作为一种新型的电子商务形式&#xff0c;成都直播产业园利用互联网渠道进行营销&#xff0c;为用户提供更具高度互动性、专业性、丰富、直观、实时的全面购物体验。本年度&#xff0c;西南地区直播产业市场规模宏大&#xff0c;以成都为代…

mysql服务多实例运行

1、官网下载mysql安装包 https://downloads.mysql.com/archives/community/ 2、解压安装包 tar -zxvf mysql-8.1.0-linux-glibc2.28-aarch64.tar.xz -C /usr/localmv /usr/local/mysql-8.1.0-linux-glibc2.28-aarch64 /usr/local/mysql 3、创建mysql用户组 groupadd…

【面试】 前端竞争压力大?揭秘让你们学后端的真实动机!

前端开发属于程序员吗? 网友是这样回答的&#xff1a; 看完前端同学的评论&#xff0c;我悟了&#xff0c;你们让人都去学后端卷&#xff0c;然后减小前端竞争压力是吧&#xff1f; 哈哈哈&#xff0c;你们这帮老6…… 于是我去拿出了我收藏的 某前端招聘JD来盘一盘 那些…

APP加固技术及其应用

文章目录 引言 APP加固的概念 APP加固的方案 APP加固在实际开发中的应用 总结 引言 在移动应用开发过程中&#xff0c;APP加固技术起到了非常重要的作用。APP加固是将apk文件进行混淆加密&#xff0c;以防止别人反编译获取我们的源码和资源文件。目前市场上主流的APP加固…