跳跳狗小游戏
欢迎来到程序小院
跳跳狗
玩法:一直弹跳的狗狗,鼠标点击屏幕左右方向键进行弹跳,弹到不同物品会有不同的分数减扣,规定的时间3分钟内完成狗狗弹跳,快去跳跳狗吧^^。
开始游戏https://www.ormcc.com/play/gameStart/198
html
<canvas id="ef" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:19;display:none;"></canvas>
<canvas id="game" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:18;"></canvas>
<canvas id="bg" width="100%" height="100%" style="position:absolute;left:0;top:180px;z-index:17;"></canvas>
css
h2.title{display: block;margin: 50px auto;text-align: center;
}
js
function dot_TalkBubble() {this.reset = function(a, b, c, d, e, f, g, h, k) {this.image = a;this.text = "";this.x = f;this.y = g;this.offsetX = b;this.offsetY = c;this.w = h;this.font = k;a = d.split(" ");for (d = c = b = 0; d < a.length; d++) c = k.getTextSize(a[d]).w, b + c > this.w ? (this.text += "\n" + a[d] + " ", b = c + k.charWidths[" "]) : (this.text += a[d] + " ", b += c + k.charWidths[" "]);this.timer = this.currentIndex = 0;this.maxTimer = 1 / e;this.justFinished = this.finished = !1};this.update = function(a) {this.justFinished = !1;this.finished || (this.timer += a, this.timer >this.maxTimer && (this.timer = 0, this.currentIndex++, this.currentIndex == this.text.length && (this.justFinished = this.finished = !0)))};this.render = function(a, b, c, d) {a.drawImage(this.image, Math.floor(this.x + b - this.offsetX), Math.floor(this.y + c - this.offsetY));this.font.write(a, Math.floor(this.x + b), Math.floor(this.y + c), this.text, d, 0, this.currentIndex)}
}function dot_Math() {this.load = function() {this.m_sin = Array(1440);this.m_cos = Array(1440);for (var a = 0, b = 0; 1440 > b; b++) this.m_sin[b] = Math.sin(a * PI / 180), this.m_cos[b] = Math.cos(a * PI / 180), a += 0.25;this.msquare = Array(600);for (b = 0; b < this.msquare.length; b++) this.msquare[b] = b * b};this.sqrt = function(a) {a = Math.floor(a);a = 0 < a ? a : -a;for (var b = 0, c = this.msquare.length - 1, d = b + c >> 1; b < c - 1;) {if (this.msquare[d] > a) c = d;else if (this.msquare[d] < a) b = d;else break;d = b + c >> 1}return d};this.sin = function(a) {0 > a ? a += 360 : 360 <= a && (a -= 360);return this.m_sin[Math.floor(4 * a)]};this.cos = function(a) {0 > a ? a += 360 : 360 <= a && (a -= 360);return this.m_cos[Math.floor(4 * a)]};this.seed_w = 1234;this.seed_z = 5678;this.randomize = function() {var a = (new Date).getTime();this.seed_w = a % 32E3;this.seed_z = a % 65535};this.rand = function() {this.seed_z = 36969 * (this.seed_z & 65535) + (this.seed_z >> 16);this.seed_w = 18E3 * (this.seed_w & 65535) + (this.seed_w >> 16);return Math.abs((this.seed_z << 16) + this.seed_w)};this.random = function() {return 1 / (this.rand() % 10)};this.randomIn = function(a,b) {return 1 < b ? a + this.rand() % b : a + this.random() * b}
}
var EASE_NONE = 0,EASE_QUAD_IN = 1,EASE_QUAD_OUT = 2,EASE_QUAD_INOUT = 3,EASE_CUBE_IN = 4,EASE_CUBE_OUT = 5,EASE_CUBE_INOUT = 6,EASE_QUART_IN = 7,EASE_QUART_OUT = 8,EASE_QUART_INOUT = 9,EASE_QUINT_IN = 10,EASE_QUINT_OUT = 11,EASE_QUINT_INOUT = 12,EASE_SIN_IN = 13,EASE_SIN_OUT = 14,EASE_SIN_INOUT = 15,EASE_BOUNCE_IN = 16,EASE_BOUNCE_OUT = 17,EASE_BOUNCE_INOUT = 18,EASE_CIRC_IN = 19,EASE_CIRC_OUT = 20,EASE_CIRC_INOUT = 21,EASE_EXPO_IN = 22,EASE_EXPO_OUT = 23,EASE_EXPO_INOUT = 24,EASE_BACK_IN = 25,EASE_BACK_OUT = 26,EASE_BACK_INOUT = 27,PI = 3.1415926,PI2 =1.5707963,B1 = 0.363636363636364,B2 = 0.727272727272727,B3 = 0.545454545454545,B4 = 0.909090909090909,B5 = 0.818181818181818,B6 = 0.954545;function dot_Tween() {this.duration = this.duration_inverse = this.t = 0;this.functionId = EASE_NONE;this.targetRangeNumber = this.targetLowest = this.timer = 0;this.finished = !0;this.delta = 0;this.reset = function(a, b, c, d) {this.duration_inverse = 1 / d;this.functionId = c;this.timer = 0;this.targetLowest = a;this.targetRangeNumber = b - a;this.duration = d;this.finished = !1;this.t = 0;this.delta = this.targetLowest;this.update(0)};this.replay = function() {this.finished = !1;this.t = this.timer = 0;this.delta = this.targetLowest;this.update(0)};this.update = function(a) {if (!this.finished)if (this.timer += a, this.timer > this.duration) this.finished = !0, this.t = 1, this.delta = this.targetLowest + this.targetRangeNumber;else {a = this.t = this.timer * this.duration_inverse;switch (this.functionId) {case EASE_QUAD_IN:a *= a;break;case EASE_QUAD_OUT:a = -a * (a - 2);break;case EASE_QUAD_INOUT:a = 0.5 >= a ? 2 * a * a : 1 - 2 * --a * a;break;case EASE_CUBE_IN:a *= a * a;break;case EASE_CUBE_OUT:a = 1 + --a * a * a;break;case EASE_CUBE_INOUT:a = 0.5 >= a ? 4 * a * a * a : 1 + 4 * --a * a * a;break;case EASE_QUART_IN:a *= a * a * a;break;case EASE_QUART_OUT:a = 1 - (a -= 1) * a * a * a;break;case EASE_QUART_INOUT:a = 0.5 >= a ? 8 * a * a * a * a : (1 - (a = 2 * a - 2) * a * a * a) / 2 + 0.5;break;case EASE_QUINT_IN:a *= a * a * a * a;break;case EASE_QUINT_OUT:a = (a -= 1) * a * a * a * a + 1;break;case EASE_QUINT_INOUT:a = 1 > (a *= 2) ? a * a * a * a * a / 2 : ((a -= 2) * a * a * a * a + 2) / 2;break;case EASE_SIN_IN:a = -Math.cos(PI2 * a) + 1;break;case EASE_SIN_OUT:a = Math.sin(PI2 * a);break;case EASE_SIN_INOUT:a = -Math.cos(PI * a) / 2 + 0.5;break;case EASE_BOUNCE_IN:a = 1 - a;if (a < B1) {a = 1 - 7.5625 * a * a;break}if (a < B2) {a = 1 - (7.5625 * (a - B3) * (a - B3) +0.75);break}if (a < B4) {a = 1 - (7.5625 * (a - B5) * (a - B5) + 0.9375);break}a = 1 - (7.5625 * (a - B6) * (a - B6) + 0.984375);break;case EASE_BOUNCE_OUT:if (a < B1) {a *= 7.5625 * a;break}if (a < B2) {a = 7.5625 * (a - B3) * (a - B3) + 0.75;break}if (a < B4) {a = 7.5625 * (a - B5) * (a - B5) + 0.9375;break}a = 7.5625 * (a - B6) * (a - B6) + 0.984375;break;case EASE_BOUNCE_INOUT:if (0.5 > a) {a = 1 - 2 * a;if (a < B1) {a = (1 - 7.5625 * a * a) / 2;break}if (a < B2) {a = (1 - (7.5625 * (a - B3) * (a - B3) + 0.75)) / 2;break}if (a < B4) {a = (1 - (7.5625 * (a - B5) * (a - B5) + 0.9375)) / 2;break}a = (1 - (7.5625 * (a - B6) * (a - B6) + 0.984375)) / 2;break}a =2 * a - 1;if (a < B1) {a = 7.5625 * a * a / 2 + 0.5;break}if (a < B2) {a = (7.5625 * (a - B3) * (a - B3) + 0.75) / 2 + 0.5;break}if (a < B4) {a = (7.5625 * (a - B5) * (a - B5) + 0.9375) / 2 + 0.5;break}a = (7.5625 * (a - B6) * (a - B6) + 0.984375) / 2 + 0.5;break;case EASE_CIRC_IN:a = -(Math.sqrt(1 - a * a) - 1);break;case EASE_CIRC_OUT:a = Math.sqrt(1 - (a - 1) * (a - 1));break;case EASE_CIRC_INOUT:a = 0.5 >= a ? (Math.sqrt(1 - 4 * a * a) - 1) / -2 : (Math.sqrt(1 - (2 * a - 2) * (2 * a - 2)) + 1) / 2;break;case EASE_EXPO_IN:a = Math.pow(2, 10 * (a - 1));break;case EASE_EXPO_OUT:a = -Math.pow(2, -10 * a) + 1;break;case EASE_EXPO_INOUT:a =0.5 > a ? Math.pow(2, 10 * (2 * a - 1)) / 2 : (-Math.pow(2, -10 * (2 * a - 1)) + 2) / 2;break;case EASE_BACK_IN:a = a * a * (2.70158 * a - 1.70158);break;case EASE_BACK_OUT:a = 1 - --a * a * (-2.70158 * a - 1.70158);break;case EASE_BACK_INOUT:a *= 2;if (1 > a) {a = a * a * (2.70158 * a - 1.70158) / 2;break}a--;a = (1 - --a * a * (-2.70158 * a - 1.70158)) / 2 + 0.5}this.t = a;this.delta = this.targetLowest + this.targetRangeNumber * this.t}}
}
源码https://www.ormcc.com/
需要源码请关注添加好友哦^ ^
转载:欢迎来到本站,转载请注明文章出处
https://ormcc.com/
相关文章:

跳跳狗小游戏
欢迎来到程序小院 跳跳狗 玩法:一直弹跳的狗狗,鼠标点击屏幕左右方向键进行弹跳,弹到不同物品会有不同的分数减扣,规定的时间3分钟内完成狗狗弹跳,快去跳跳狗吧^^。开始游戏https://www.ormcc.com/play/gameStart/198…...

CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境
CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境 文章目录 CoDeSys系列-4、基于Ubuntu的codesys运行时扩展包搭建Profinet主从环境一、前言二、资料收集三、Ubuntu18.04从安装到更换实时内核1、下载安装Ubuntu18.042、下载安装实时内核,解决编…...
shell_70.Linux调整谦让度
调整谦让度 1.nice 命令 (1)nice 命令允许在启动命令时设置其调度优先级。要想让命令以更低的优先级运行,只需用nice 命令的-n 选项指定新的优先级即可: $ nice -n 10 ./jobcontrol.sh > jobcontrol.out & [2] 16462 $ $ ps -p 16462 -o pid,…...

【jvm】虚拟机栈
目录 一、背景二、栈与堆三、声明周期四、作用五、特点(优点)六、可能出现的异常七、设置栈内存大小八、栈的存储单位九、栈运行原理十、栈帧的内部结构10.1 说明10.2 局部变量表10.3 操作数栈10.4 动态链接10.5 方法返回地址10.6 一些附加信息 十一、代…...
Flink SQL Over 聚合详解
Over 聚合定义(⽀持 Batch\Streaming):**特殊的滑动窗⼝聚合函数,拿 Over 聚合 与 窗⼝聚合 做对⽐。 窗⼝聚合:不在 group by 中的字段,不能直接在 select 中拿到 Over 聚合:能够保留原始字段…...

【鸿蒙软件开发】ArkUI之容器组件Counter(计数器组件)、Flex(弹性布局)
文章目录 前言一、Counter1.1 子组件1.2 接口1.3 属性1.4 事件 1.5 示例代码二、Flex弹性布局到底是什么意思? 2.1 权限列表2.2 子组件2.3 接口参数 2.4 示例代码示例代码1示例代码2 总结 前言 Counter容器组件:计数器组件,提供相应的增加或…...
PyTorch入门学习(十一):神经网络-线性层及其他层介绍
目录 一、简介 二、PyTorch 中的线性层 三、示例:使用线性层构建神经网络 四、常见的其他层 一、简介 神经网络是由多个层组成的,每一层都包含了一组权重和一个激活函数。每层的作用是将输入数据进行变换,从而最终生成输出。线性层是神经…...
农业水土环境与面源污染建模及对农业措施响应
目录 专题一 农业水土环境建模概述 专题二 ArcGIS入门 专题三 农业水土环境建模流程 专题四 DEM数据制备流程 专题五 土地利用数据制备流程 专题六 土壤数据制备流程 专题七 气象数据制备流程 专题八 农业措施数据制备流程 专题九 参数率定与结果验证 专题十 模型结…...

回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)
回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图) 目录 回归预测 | Matlab实现MPA-BP海洋捕食者算法优化BP神经网络多变量回归预测(多指标、多图)效果一览基本介绍程序设计参考资料 效果一览…...
扫地机器人遇瓶颈?科沃斯、石头科技“突围”
曾经,扫地机器人行业也曾有过高光时刻,而如今,扫地机器人已然告别高增长阶段,增速开始放缓。据中怡康零售推总数据显示,2023年上半年,中国扫地机器人市场规模为63.6亿元人民币,同比下滑了0.6%&a…...

基于SSM的防疫信息登记系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
VBA将字典按照item的值大小排序key
方法:利用数组交换位置 sub 字典排序() s 0 Dim arr(dic1.keys)将字典key和value存入一个数组中 For Each ke In dic1.keysarr(s) Array(ke, dic1(ke))s s 1 Next进行排序 For i LBound(arr) To UBound(arr) - 1For j i 1 To UBound(arr)If arr(i)(1) >…...

MySQL第四讲·如何正确设置主键?
你好,我是安然无虞。 文章目录 主键:如何正确设置主键?业务字段做主键自增字段做主键手动赋值字段做主键 主键总结 主键:如何正确设置主键? 前面我们在讲解存储的时候,有提到过主键,它可以唯一…...

K8S知识点(三)
(1)环境搭建-环境初始化 Centos的版本是有要求的必须是7.5或以上,否则安装出来的集群是有问题的Node节点可能加入不到集群中来 详细步骤 1.同时连接三台服务器:查看一下版本 是否正确 2.主机名解析,方便节点之间的…...
c语言刷题(9周)(6~10)
输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error。 题干输入10个不等的整数创建数组a[10],在数组a中找是否存在整数t。若存在显示找到了及下标位置,若不存在显示error…...

SpringBoot集成-阿里云对象存储OSS
文章目录 阿里云 OSS 介绍准备工作SpringBoot 集成 OSS 阿里云 OSS 介绍 阿里云对象存储 OSS (Object Storage Service),是一款海量、安全、低成本、高可靠的云存储服务。使用 OSS,你可以通过网络随时存储和调用包括文本、图片、…...

fastapi-Headers和Cookies
在FastAPI中,Headers是一个特殊的类型,用于处理HTTP请求头(Headers)。Headers允许你接收、访问和修改HTTP请求中的头部信息。 使用Headers,你可以在FastAPI的路由视图中将请求头作为参数接收,并对它们进行…...

云计算的思想、突破、产业实践
文章目录 📕我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文创造者、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五…...

【漏洞复现】Apache_HTTP_2.4.49_路径穿越漏洞(CVE-2021-41773)
感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞验证方式一 curl方式二 bp抓包 说明内容漏洞编号CVE-2021-41773漏洞名称Apache HTTP 路径穿越漏洞漏…...

AD9371 官方例程 NO-OS 主函数 headless 梳理
AD9371 系列快速入口 AD9371ZCU102 移植到 ZCU106 : AD9371 官方例程构建及单音信号收发 ad9371_tx_jesd -->util_ad9371_xcvr接口映射: AD9371 官方例程之 tx_jesd 与 xcvr接口映射 AD9371 官方例程 时钟间的关系与生成 : AD9371 官方…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...