jQuery制作一个简单的打地鼠游戏(超详细讲解)

news/2024/7/10 23:58:49 标签: jquery, 游戏, javascript

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:老茶icon
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:Java
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:jQuery制作一个简单的打地鼠游戏
  • 前言
  • 原理
    • 代码如下
  • 总结

课程名:Java

内容/作用:知识点/设计/实验/作业/练习

学习:jQuery制作一个简单的打地鼠游戏

前言

   综合CSS+JS+jQuery知识,简单实现打地鼠小游戏,实现结果过如下:

打地鼠小游戏

原理

   "打地鼠"游戏原理:

1.静态布局:n*n的div容器,默认无背景

2.随机显示:定义class,写上背景图的样式,所有的div开始随机,随机到的div拥有该class值,其余div移除该class值

3.点击消失同时计分:给所有div添加单击事件,判断单击的div是否拥有class值,如果有则移除,加分

4.控制游戏时长:开始后,使用setInterval()随机显示,使用setTimeout()在10s后移除setInterval()

代码如下

javascript"><!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>

		<style>
			#main {
				width: 740px;
				height: 500px;
				margin: 100px auto 0;
				background-color: gainsboro;
			}

			#main>div {
				width: 100px;
				height: 100px;
				float: left;
				background-color: #fff;
				margin-left: 20px;
				margin-top: 20px;
			}

			button {
				border: none;
				display: block;
				background-color: #999;
				width: 150px;
				height: 40px;
				margin: 50px auto;
				color: #fff;
				font-size: 20px;
			}

			/* 用于显示背景图的样式 */
			.show {
				background-image: url("img/dishu.jpg");
				background-size: 100%;
			}
		</style>
	</head>
	<body>
		<div id="main">
			<script>
				for (var i = 1; i <= 24; i++) {
					document.write("<div ></div>")
				}
			</script>
		</div>

		<button>开始游戏</button>
		<script src="js/jquery-3.6.4.min.js"></script>
		<script>
			// 间隔器
			var startGame;
			// 分数
			var score = 0;
			// 获取所有的div,这里的divList是Jquery对象
			var $divList = $("#main>div");

			// 开始游戏按钮
			$("button:eq(0)").click(() => {
				// 每次游戏重置分数
				score = 0;
				$("button:eq(0)").attr("disabled", "true");
				setTimeout(() => {
					alert("游戏结束,你的得分为【" + score + "】");
					clearInterval(startGame);
				}, 10000);

				// 每隔0.8s
				startGame = setInterval(() => {
					$divList.removeClass("show");
					var index = Math.floor(Math.random() * $divList.length);
					$("#main>div:eq(" + index + ")").addClass("show");
				}, 800);
			});

			// 所有div添加单击事件
			$("#main>div").click(function() {
				if ($(this).hasClass("show")) {
					$(this).removeClass("show");
					score++;
				}
			});
		</script>
	</body>
</html>

总结

   

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

http://www.niftyadmin.cn/n/219388.html

相关文章

神经网络中的epoch、batch、batch_size、iteration的理解

神经网络中的epoch、batch、batch_size、iteration的理解 下面说说这三个区别&#xff1a; &#xff08;1&#xff09;batchsize&#xff1a;批大小。在深度学习中&#xff0c;一般采用SGD训练&#xff0c;即每次训练在训练集中取batchsize个样本训练&#xff1b; &#xff0…

python uiautomator2 环境搭建和基本使用

安装 adb安装和配置 可以百度或者看看这个https://blog.csdn.net/weixin_37600187/article/details/127987889 安装uiautomator2 pip install -i https://mirrors.aliyun.com/pypi/simple -U uiautomator2安装 weditor&#xff08;一般情况会报错&#xff09; pip install…

《数据库系统概论》第三章课后习题 (4个表+三建工程项目)

目录 5. 针对习题4中的4个表试用SQL完成以下各项操作&#xff1a; 9. 为三建工程项目建立一个供应情况的视图&#xff0c;包括供应商代码SNO, 零件代码PNO, 供应数量QTY&#xff0c;针对该视图完成下列查询&#xff1a; 5. 针对习题4中的4个表试用SQL完成以下各项操作&#x…

系统集成项目管理师-项目人力资源管理、项目沟通管理

前言 汇总知识点、重点问题、难点 由问题引出知识点 项目人力资源管理、项目沟通管理 文章目录前言项目人力资源管理项目沟通管理项目人力资源管理 &#xff08;&#xff09;不是获取项目人力资源的依据 A-项目人力资源管理计划B-组织结构C-人员配备管理计划D-资源日历 题干问题…

ROS学习——艰辛的环境安装之路一VMware

文章目录VMware 安装下载安装VMware 安装 一些没用的介绍&#xff1a; VMware Workstation中文版是一个“虚拟 PC”软件。它使你可以在一台机器上同时运行二个或更多 Windows、DOS、LINUX 系统。与“多启动”系统相比&#xff0c;VMWare 采用了完全不同的概念。多启动系统在一…

神经网络之反向传播算法(自适应矩估计算法Adam)

文章目录自适应矩估计算法&#xff08;Adam&#xff09;1、算法原理2、算法实现2.1 训练过程2.2 测试过程及结果3、参考源码及数据集自适应矩估计算法&#xff08;Adam&#xff09; 自适应矩估计算法从其本质上看可以视作是带有动量项的均方根反向传播算法&#xff0c;一方面它…

MODBUS 转 EtherNet/IP 网关连接希望森兰变频器案例

Modbus转Ethernet/Ip网关&#xff0c;用于将多个 MODBUS 从站设备接入 ETHERNET/IP 主站网络&#xff0c;实现 MODBUS 转 ETHERNET/IP 功能。配上 MODBUS 转 EtherNet 网关专用的 EDS 文件,实现 ETHERNET/IP 主 站对 MODBUS 从站设备的控制。 需要设备 .24v电源模块 罗克韦尔PL…

Diffusion模型系列文章

DDPM 论文 扩散模型包括两个过程&#xff1a;前向过程&#xff08;forward process&#xff09;和反向过程&#xff08;reverse process&#xff09;&#xff0c;其中前向过程又称为扩散过程&#xff08;diffusion process&#xff09;&#xff0c;如下图所示&#xff0c;从x…