Html网页小游戏源代码

Html网页小游戏源代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Jello Jumping Game</title>
  <meta name="viewport" content="width=device-width, initial-scale=1"><link rel='stylesheet' href='static/css/css.css'><link rel="stylesheet" href="static/css/style.css">

</head>
<body>
<!-- partial:index.partial.html -->
<main>
	<div class="streak"></div>
	<div class="help" tabindex="0">?</div>
	<div class="help-window">
		<h1>How to Play</h1>
		<p><strong>Click/tap</strong> or press <strong>[spacebar]</strong> to change the color of the jello until it matches the color of the box it’s about to land on.</p>
		<section>
			<figure><span class="red"></span> &#8594; <span class="yellow"></span><br>&#8593;<span></span><span></span>&#8595; <span class="ascii-arrow">——&gt;</span><br><span class="blue"></span> &#8592; <span class="green"></span></figure><figure>
				<div class="box blue"></div>
				<div class="jello red"></div>
			</figure>
		</section>
		<p>+1 point each matching land and back to zero if missed. The higher the streak, the faster the jello will jump. See how many you can get in a row!</p>
	</div>
	<div class="jello-hitbox">
		<div class="jello"></div>
	</div>
	<div class="boxes">
		<div class="box"></div>
		<div class="box"></div>
	</div>
	<div class="click-area"></div>
</main>
<!-- partial -->
  <script src="static/js/script.js"></script>

	<div style="display:none;"><a href="">仿站软件</a></div>
</body>
</html>

 

/* devanagari */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 400;
  src: url(../font/5aU69_a8oxmIdGh4BCOz.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 400;
  src: url(../font/5aU69_a8oxmIdGd4BCOz.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 400;
  src: url(../font/5aU69_a8oxmIdGl4BA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* devanagari */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 700;
  src: url(../font/5aU19_a8oxmIfNJdER2SjQpf.woff2) format('woff2');
  unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB;
}
/* latin-ext */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 700;
  src: url(../font/5aU19_a8oxmIfNJdERKSjQpf.woff2) format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Hind';
  font-style: normal;
  font-weight: 700;
  src: url(../font/5aU19_a8oxmIfNJdERySjQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
*, *:before, *:after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
}
:root {
	--dur: 2s;
	font-size: calc(10px + 1vmin);
}
body {
	background: #333;
	font: 1em Hind, Helvetica, sans-serif;
	line-height: 1.5;
	height: 100vh;
}
main {
	background: #9ab;
	margin: auto;
	overflow: hidden;
	position: relative;
	width: 100%;
	max-width: 600px;
	height: 100%;
}
h1 {
    font-size: 2em;
    line-height: 1.5;
    margin-bottom: 0.75em;
	text-align: center;
}
p {
	margin-bottom: 1.5em;
}
section {
	margin: 0 auto 1.5em auto;
	width: 8em;
}
figure, figure > span {
	vertical-align: middle;
}
figure {
	display: inline-table;
	margin-right: -3px;
	min-width: 2em;
	height: 4.5em;
	position: relative;
}
figure > span {
	border-radius: 50%;
	display: inline-block;
	min-width: 1em;
	height: 1em;
}
button, div {
	position: absolute;
}
.help, .help-window, .streak {
	z-index: 1;
}
/* help */
.help {
	background-color: transparent;
	border: 0;
	cursor: pointer;
	opacity: 0.5;
	font-size: 2.5em;
	line-height: 1.25;
	top: 0.25em;
	left: 0.25em;
	width: 1.25em;
	height: 1.25em;
	transition: opacity 0.15s linear;
	text-align: center;
}
.help:hover, .help:focus {
	opacity: 1;
	outline: 0;
}
.help-window {
	background-color: rgba(255,255,255,0.9);
	border-radius: 1em;
	margin: auto;
	padding: 0.75em;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 90%;
	max-width: 20em;
	height: 90%;
	max-height: 24em;
	transition: transform 0.3s ease-out;
	transform: scale(0);
}
.help:focus ~ .help-window {
	transform: scale(1);
}
.help:focus ~ .click-area {
	opacity: 0.5;
}
/* jello */
.jello-hitbox, .box {
	left: 50%;
}
.jello-hitbox {
	margin: -4em 0 0 -4em;
	bottom: 6em;
	width: 8em;
	height: 8em;
}
.jello {
	background:
		radial-gradient(1em 1em at 37% 40%,black 45%,transparent 50%),
		radial-gradient(1em 1em at 63% 40%,black 45%,transparent 50%),
		radial-gradient(100% 200% at 50% 0,transparent 0.65em, black 0.75em, black 47%,transparent 50%) 50% 64% / 2.5em 1em;
	background-repeat: no-repeat;
	background-color: #aaa;
	border-radius: 0.75em;
	box-shadow: 0 0 0 0.75em rgba(255,255,255,0.4) inset;
	transition: background-color 0.15s linear;
	transform-origin: 50% 100%;
	width: 100%;
	height: 100%;
}
figure > .box, figure > .jello {
	transform: scale(0.25,0.25);
}
figure > .jello {
	transform-origin: 0 0;
	width: 8em;
	height: 8em;
}
figure > .box {
	transform-origin: 50% 100%;
}
/* boxes */
.boxes, .box {
	bottom: 0;
}
.boxes {
	width: 100%;
}
.box {
	background-color: #777;
	border-radius: 0.5em;
	margin-left: -3em;
	width: 6em;
	height: 6em;
}
.box:last-of-type {
	left: 150%;
}

/* colors */
.red {
	background-color: #f44;
}
.yellow {
	background-color: #fc4;
}
.green {
	background-color: #8c8;
}
.blue {
	background-color: #48f;
}
/* other */
.ascii-arrow {
	transform: rotate(-35deg);
	transform-origin: 0 50%;
}
.click-area {
	background-color: #000;
	opacity: 0;
	width: 100%;
	height: 100%;
}
.streak {
	font-size: 4em;
	text-align: center;
	width: 100%;
}
/* animations */
.run > .jello-hitbox {
	animation: jump calc(var(--dur)/2) cubic-bezier(.2,.45,.65,.99) 2 alternate;
}
.run > .jello-hitbox > .jello {
	animation: squish var(--dur) ease-out;
}
.run > .boxes {
	animation: scroll var(--dur) linear;
}

@keyframes jump {
	from, 4% {
		transform: translateY(0);
	}
	to {
		transform: translateY(-12em);
	}
}
@keyframes squish {
	from, 40%, to {
		transform: scale(1,1);
	}
	8% {
		transform: scale(1.5,0.5);
	}
	16% {
		transform: scale(0.75,1.25);
	}
	24% {
		transform: scale(1.25,0.75);
	}
	32% {
		transform: scale(0.875,1.125);
	}
}
@keyframes scroll {
	from, 8% {
		transform: translateX(0);
	}
	to {
		transform: translateX(-100%)
	}
}
window.addEventListener("load",game);

function game() {
	var root = document.querySelector(":root"),
		main = document.querySelector("main"),
		streakCounter = document.querySelector(".streak"),
		jelloHitbox = document.querySelector(".jello-hitbox"),
		jello = document.querySelector(".jello-hitbox > .jello"),
		boxes = document.querySelectorAll(".boxes > .box"),
		colors = ["red","yellow","green","blue"],
		streak = 0,
		compDur = window.getComputedStyle(root),
		compDurVal = compDur.getPropertyValue("--dur"),
		dur = (compDurVal.substr(0,compDurVal.length - 1) * 1000),
		minDur = dur/2,
		chooseColor = function() {
			return Math.floor(Math.random() / 0.25);
		},
		curColor = chooseColor(),
		prevMatchColor = curColor,
		nextMatchColor = chooseColor(),
		rerun = function() {
			main.classList.remove("run");
			void main.offsetWidth;
			main.classList.add("run");
			root.style.setProperty("--dur",(dur/1000) + "s");
		},
		cycleColor = function() {
			++curColor;
			if (curColor == colors.length) {
				curColor = 0;
			}
			jello.className = "jello " + colors[curColor];
		},
		checkColorMatch = function() {
			if (curColor == nextMatchColor) {
				++streak;
				dur -= 10;
				if (dur < minDur) {
					dur = minDur;
				}
				streakCounter.innerHTML = streak;
			} else {
				streak = 0;
				dur = 2000;
				streakCounter.innerHTML = "";
			}

			prevMatchColor = nextMatchColor;
			nextMatchColor = chooseColor();

			boxes[0].className = "box " + colors[prevMatchColor];
			boxes[1].className = "box " + colors[nextMatchColor];
			
			rerun();
			setTimeout(checkColorMatch,dur);
		};
	
	main.classList.add("run");
	jello.classList.add(colors[curColor]);
	boxes[0].classList.add(colors[prevMatchColor]);
	boxes[1].classList.add(colors[nextMatchColor]);
	
	for (b in boxes) {
		if (b < boxes.length) {
			boxes[b].classList.add(colors[chooseColor()]);
		}	
	}
	
	setTimeout(checkColorMatch,dur);
	
	document.querySelector(".click-area").addEventListener("click",cycleColor);
	document.addEventListener("keydown",function(e) {
		if (e.keyCode == 32) {
			cycleColor();
		}
	});
}

因为格式原因,有些代码我无法展示,所以这是下载地址:Html网页小游戏源代码 (chinaz.com)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【安全】挖矿木马自助清理手册

一、什么是挖矿木马 挖矿木马会占用CPU进行超频运算&#xff0c;从而占用主机大量的CPU资源&#xff0c;严重影响服务器上的其他应用的正常运行。黑客为了得到更多的算力资源&#xff0c;一般都会对全网进行无差别扫描&#xff0c;同时利用SSH爆破和漏洞利用等手段攻击主机。 …

【AR】使用深度API实现虚实遮挡

遮挡效果 本段描述摘自 https://developers.google.cn/ar/develop/depth 遮挡是深度API的应用之一。 遮挡&#xff08;即准确渲染虚拟物体在现实物体后面&#xff09;对于沉浸式 AR 体验至关重要。 参考下图&#xff0c;假设场景中有一个Andy&#xff0c;用户可能需要放置在包含…

2024年蓝桥杯40天打卡总结

2024蓝桥杯40天打卡总结 真题题解其它预估考点重点复习考点时间复杂度前缀和二分的两个模板字符串相关 String和StringBuilderArrayList HashSet HashMap相关蓝桥杯Java常用算法大数类BigInteger的存储与运算日期相关考点及函数质数最小公倍数和最大公约数排序库的使用栈Math类…

牛客周赛 Round 39(A,B,C,D,E,F,G)

比赛链接 官方题解&#xff08;视频&#xff09; B题是个贪心。CD用同余最短路&#xff0c;预处理的完全背包&#xff0c;多重背包都能做&#xff0c;比较典型。E是个诈骗&#xff0c;暴力就完事了。F是个线段树。G是个分类大讨论&#xff0c;出题人钦定的本年度最佳最粪 题目…

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

GD32 HID键盘矩阵键盘发送数据时,一直发送数据问题处理

这个问题找了两三天,开始并不认为是示例程序的问题,只是感觉是自己代码问题。 这个解决流程大概是: 先调好矩阵键盘=> 调用发送函数。 就是因为调用时,一直发送数据,我也在按键抬起做了操作,始终不行。 最后,发现时示例代码中有个 空闲中断 引起的。 udev->reg…

数学建模-最优包衣厚度终点判别法-三(Bayes判别分析法和梯度下降算法)

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是viperrrrrrr~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff…

【算法】bfs解决FloodFill问题

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 FloodFill算法1. 733. 图像渲染1.1 分析1.2 代码 2. 200. 岛屿数量2.1 分析2.2 代码 3. 695. 岛屿的最大面积3.1 分析3.2 代码 4. 130. 被围绕的区域4.1 分析4.2 代码 FloodFill算法 FloodFill就是洪水灌溉&#xff0c;解…

minio-docker单节点部署SDK测试文件上传下载

目录 一&#xff0c;docker部署minio单节点单磁盘 二&#xff0c;SDK测试上传下载 一&#xff0c;docker部署minio单节点单磁盘 1.拉取镜像 # 下载镜像 docker pull minio/minio 2.查看镜像 docker images 3.启动minio(新版本) 创建本机上的挂载目录&#xff0c;这个可以…

蓝桥杯备赛(C/C++组)

README&#xff1a; 本笔记是自己的备考笔记&#xff0c;按照官网提纲进行复习&#xff01;适合有基础&#xff0c;复习用。 一、总考点 试题考查选手解决实际问题的能力&#xff0c;对于结果填空题&#xff0c;选手可以使用手算、软件、编程等方法解决&#xff0c;对于编程大…

Cesium 无人机航线规划

鉴于大疆司空平台和大疆无人机app高度绑定&#xff0c;导致很多东西没办法定制化。 从去年的时候就打算仿大疆开发一套完整的平台&#xff0c;包括无人机app以及仿司空2的管理平台&#xff0c;集航线规划、任务派发、实时图像、无人机管理等功能的平台。 当前阶段主要实现了&…

Kubernetes学习笔记12

k8s核心概念&#xff1a;控制器&#xff1a; 我们删除Pod是可以直接删除的&#xff0c;如果生产环境中的误操作&#xff0c;Pod同样也会被轻易地被删除掉。 所以&#xff0c;在K8s中引入另外一个概念&#xff1a;Controller&#xff08;控制器&#xff09;的概念&#xff0c;…

STM32电机控制固件架构

目录 一、应用程序剖析 二、面向现场的控制实现体系结构 1、参考计算循环 2、电流调节环路 3、安全回路 一、应用程序剖析 上图显示了由ST MC SDK构建的电机控制应用程序。首先&#xff0c;这样的应用程序是由电机控制工作台生成的软件项目&#xff0c;这要归功于STM32Cube…

中国手机频段介绍

中国目前有三大运营商&#xff0c;分别是中国移动、中国联通、中国电信&#xff0c;还有一个潜在的运营商中国广电&#xff0c;各家使用的2/3/4G的制式略有不同 中国移动的GSM包括900M和1800M两个频段。 中国移动的4G的TD-LTE包括B34、B38、B39、B40、B41几个频段&#xff0c;…

纯css实现switch开关

代码比较简单&#xff0c;有需要直接在下边粘贴使用吧~ html: <div class"switch-box"><input id"switch" type"checkbox"><label></label></div> css&#xff1a; .switch-box {position: relative;height: 25px…

SFP光模块和媒体转换器的区别

SFP光模块和媒体转换器都是光电转换设备。它们是否可以互换使用&#xff1f;它们之间有什么区别&#xff1f; SFP光模块与媒体转换器&#xff1a;它们是什么&#xff1f; SFP模块是一种可热插拔的光模块&#xff0c;用于连接网络交换机。它可以将电信号转换为光信号&#xff…

Java - JDK8 下载 安装教程(Mac M芯片)

下载 JDK 安装包 在个人的电脑上&#xff0c;我是比较喜欢使用 zulu 的 JDK&#xff0c;因为它比较早的支持了苹果的 M1 芯片 不论是版本还是功能都非常齐全&#xff0c;各个系统都有对应版本&#xff0c;基于 OpenJDK&#xff0c;免费&#xff0c;下载也方便 官网下载&…

算法——马尔可夫与隐马尔可夫模型

HMM&#xff08;Hidden Markov Model&#xff09;是一种统计模型&#xff0c;用来描述一个隐含未知量的马尔可夫过程&#xff08;马尔可夫过程是一类随机过程&#xff0c;它的原始模型是马尔科夫链&#xff09;&#xff0c;它是结构最简单的动态贝叶斯网&#xff0c;是一种著名…

Qt---控件的基本属性

文章目录 enabled(控件可用状态)geometry(位置和尺寸)简单恶搞程序 windowIcon(顶层 widget 窗口图标)使用 qrc 机制 windowOpacity(窗口的不透明值)cursor(当鼠标悬停空间上的形状)自定义鼠标图标 toolTip(鼠标悬停时的提示)focusPolicy(控件获取焦点的策略)styleSheet(通过CS…

数据集学习

1&#xff0c;CIFAR-10数据集 CIFAR-10数据集由10个类的60000个32x32彩色图像组成&#xff0c;每个类有6000个图像。有50000个训练图像和10000个测试图像。 数据集分为五个训练批次和一个测试批次&#xff0c;每个批次有10000个图像。测试批次包含来自每个类别的恰好1000个随机…