Html网页小游戏源代码

news2024/11/27 17:43:21

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)

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

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

相关文章

java数据结构与算法刷题-----LeetCode260. 只出现一次的数字 III

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 与运算取末尾1分组 与运算取末尾1分组 解题思路&#xff1a;时间…

算法思想总结:分治思想

一、颜色划分 . - 力扣&#xff08;LeetCode&#xff09; class Solution { public:void sortColors(vector<int>& nums) {//三路划分的思想int nnums.size();int left-1, rightn,cur0;while(cur<right){if(nums[cur]0) swap(nums[left],nums[cur]);else if(nums…

Java常用数据结构与集合

数据结构 数组&#xff1a; 内存地址连续检索效率高(可以通过下标访问成员)增删操作效率低(保证数据越界的问题,需动态扩容)长度固定&#xff0c;扩容的需要新的数组复制或者Arrays类的copyOf方法 链表 内存地址不连续查询快删除慢&#xff0c;因为需要移动指针又分双向链表…

【LAMMPS学习】八、基础知识(2.6)Lammps中的Walls墙

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

【opencv】示例-neural_network.cpp 使用机器学习模块创建并训练一个简单的多层感知机(神经网络)模型...

#include <opencv2/ml/ml.hpp> // 引入OpenCV的机器学习模块using namespace std; // 使用标准命名空间 using namespace cv; // 使用OpenCV命名空间 using namespace cv::ml; // 使用OpenCV机器学习命名空间int main() {//创建随机训练数据Mat_<float> data(100, …

密码学 | 椭圆曲线 ECC 密码学入门(二)

目录 4 椭圆曲线&#xff1a;更好的陷门函数 5 奇异的对称性 6 让我们变得奇特 ⚠️ 原文地址&#xff1a;A (Relatively Easy To Understand) Primer on Elliptic Curve Cryptography ⚠️ 写在前面&#xff1a;本文属搬运博客&#xff0c;自己留着学习。如果你和我一样…

TDengine taosAdapter启用HTTPS

HTTPS &#xff08;Hypertext Transfer Protocol Secure &#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&#xff0c;HTTPS 的安全基础是 SSL&#xff0c;因此加…

LinkedList部分底层源码分析

JDK版本为1.8.0_271&#xff0c;以插入和删除元素为例&#xff0c;LinkedList部分源码如下&#xff1a; //属性&#xff0c;底层结构为双向链表 transient Node<E> first; //记录第一个结点的位置 transient Node<E> last; //记录最后一个结点的尾元素 transient …

Testng测试框架(2)-测试用例@Test

测试方法用 Test 进行注释&#xff0c;将类或方法标记为测试的一部分。 Test() public void aFastTest() {System.out.println("Fast test"); }import org.testng.annotations.Test;public class TestExample {Test(description "测试用例1")public void…

日期时间总结 java

日期时间 1 Date基础2 SimpleDateFormat3 currentTimeMillis4 Calendar5 时间转化5.1 date 时间戳5.2 date String5.3 cal date 6 其他7 练习题题1 1 Date基础 .getYear() .getMonth() 1 .getDate() 几号 .toLocaleString() 转换为本地时区 getTime()&#xff1a;返回自1970年…

git am XXX.patch 文件内容解析

git am XXX.patch 文件内容解析 打补丁的两种方式&#xff1a; 1.patch XXX.patch 2.git am XXX.patch 例如&#xff1a; diff --git a/drivers/crypto/se/ce.c b/drivers/crypto/se/ce.c index e6f68286d4ce6..de1bcb46fbe6b 100644 --- a/drivers/crypto/se/ce.cb/drive…

本地部署开源免费文件传输工具LocalSend并实现公网快速传送文件

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-X4xB3gSR3z2VUfmN {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

IDEA 设置类注释模板作者、日期、描述等信息(推荐标准!)

idea注释模版配置 idea作为越来越多程序员使用的开发工具&#xff0c;平时的代码注释也非常的关键&#xff0c;类上注释和方法上注释每次换电脑或者新同事入职都要统一修改&#xff0c;找了网上好多教程都写的乱七八糟的啥都有&#xff0c;为方便统一就自己写一个操作方法&…

【word2pdf】Springboot word转pdf(自学使用)

文章目录 概要整体介绍具体实现官网pom文件增加依赖 遇到的问题本地运行OK&#xff0c;发布到Linux报错还是本地OK&#xff0c;但是Linux能运行的&#xff0c;但是中文乱码 小结 概要 Springboot word 转 pdf 整体介绍 搜了一下&#xff0c;发现了能实现功能的方法有四种 U…

ppt技巧:如何将Word文档大纲中导入到幻灯片中?

在PowerPoint中&#xff0c;将Word文档的大纲导入到新的幻灯片是一种非常实用的技巧。以下是详细的步骤&#xff1a; 首先&#xff0c;需要打开PowerPoint软件并打开原始的幻灯片文件。 在PowerPoint的顶部【开始】菜单栏中&#xff0c;找到并点击“新建幻灯片”按钮&#xff0…

《黑马点评》Redis高并发项目实战笔记(上)P1~P43

P1 Redis企业实战课程介绍 P2 短信登录 导入黑马点评项目 首先在数据库连接下新建一个数据库hmdp&#xff0c;然后右键hmdp下的表&#xff0c;选择运行SQL文件&#xff0c;然后指定运行文件hmdp.sql即可&#xff08;建议MySQL的版本在5.7及以上&#xff09;&#xff1a; 下面这…

本科大学生计算机毕业设计案例:遗失物品信息管理系统

设计需求&#xff1a; 客户需求&#xff1a; 项目所用技术&#xff1a; 后端&#xff1a;springBoot,mybatisPlus,springSecurity,Swagger2 前端&#xff1a;vue-element-admin,elementUi 数据库&#xff1a;mysql&#xff0c;redis 数据库表设计&#xff1a; 关键代码展示&a…

使用geneHapR进行基因单倍型分析(以vcf文件为例)

前记 在群体基因组学研究中&#xff0c;我们常常需要知道一些位点的变异情况&#xff0c;以便于根据对应的表型信息估算这些位点的效应&#xff0c;同时了解这些位点在不同亚群之间的变化情况。这个时候我们就需要进行单倍型分析(Haplotype Analysis)&#xff0c;单倍型分析是研…

第07-1章 计算机网络相关概念

7.1 本章目标 了解网络协议的概念了解网络体系结构熟悉ISO/OSI参考模型以及每一层的功能掌握TCP/IP模型各层的主要协议及其功能熟练掌握IP地址、子网规划等相关内容 7.2 网络协议的概念 7.2.1 概念介绍 &#xff08;1&#xff09;网络协议&#xff1a;计算机网络和分布系统中…

AndroidAutomotive模块介绍(三)CarService服务

前言 上一篇文档总结 Android Automotive 框架的 APP 和 API 部分内容&#xff0c;本篇文档将会继续根据 Android Automotive 框架结构&#xff0c;总结 Framework 层 CarService 服务的内容。 本文档对 Android Automotive Framework 层服务将会按照如下顺序展开描述&#x…