javascript 弹弹球小游戏

本文介绍如何利用JavaScript创建一款简单的弹球小游戏。通过控制台实现游戏逻辑,包括球的移动、碰撞检测以及得分系统。适合初学者了解JavaScript基础和动态效果的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >




<!DOCTYPE html>
<html>

	<head>
		<meta charset="utf-8">
		<title>单机版弹球游戏</title>
		<link rel="stylesheet" type="text/css" href="css/util.css" />
		<script type="text/javascript">
			var step = 20;
			var qiuXFlag = true;
			var qiuYFlag = true;
			var intervalId = 0;

			function qiuMove() {
				intervalId = window.setInterval(function() {
					//根据按键的值移动板
					var ban = document.getElementById("showBan");
					var banX = parseInt(ban.style.left);
					var banH3 = document.getElementById("banH3");
					//接球的范围是
					banH3.innerHTML = "板的接球范围[min=" + banX + "][max=" + (banX + 100) + "]";
					//获取小球
					var qiu = document.getElementById("showQiu");
					var ban = document.getElementById("showBan");
					var qiuH3 = document.getElementById("qiuH3");
					//获取板的left的值
					var banX = parseInt(ban.style.left);
					//改变坐标
					var x = parseInt(qiu.style.left);
					var y = parseInt(qiu.style.top);
					//实现坐标信息
					qiuH3.innerHTML = "球的坐标为[x=" + x + "][y=" + y + "]";
					//判断X的大小
					if (qiuXFlag) {
						qiu.style.left = x + step + "px";
						if (x >= 380) {
							qiuXFlag = false;
						}
					} else {
						qiu.style.left = x - step + "px";
						if (x <= 20) {
							qiuXFlag = true;
						}
					}
					//判断Y的大小
					if (qiuYFlag) {
						qiu.style.top = y + step + "px";
						if (y == 420 && (x >= banX && x <= banX + 100)) {
							qiuYFlag = false;
						}
						if (y > 440) {
							window.clearInterval(intervalId);
							alert("Game Over");
						}
					} else {
						qiu.style.top = y - step + "px";
						if (y <= 20) {
							qiuYFlag = true;
						}
					}
				}, 100);
			}
			window.onkeydown = function(event) {
				//根据按键的值移动板
				var ban = document.getElementById("showBan");
				var banX = parseInt(ban.style.left);
				var banH3 = document.getElementById("banH3");
				//接球的范围是
				banH3.innerHTML = "板的接球范围[min=" + banX + "][max=" + (banX + 100) + "]";
				//获取事件
				var eve = event || window.event;
				//获取按键的值
				var code = eve.keyCode;
				//判断左右
				if (code == 37) {
					if (banX > 20) {
						ban.style.left = banX - step + "px";
					}
				} else if (code == 39) {
					if (banX < 300) {
						ban.style.left = banX + step + "px";
					}
				}
			}
			
		</script>
	</head>

	<body onload="qiuMove();">
		<div id="showDiv">
			<img id="showQiu" src="img/shz.gif" style="height: 20px;position: absolute;left: 200px;top: 0px;" />
			<input type="button" id="showBan" value=" " style="width: 100px;position: absolute;top: 460px;left: 150px;" />
		</div>
		<div id="">
			<h3 id="qiuH3"></h3>
			<h3 id="banH3"></h3>
		</div>
	</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值