html+css+js气球消除小游戏

气球消除小游戏 消除15个就成功 源码在图片后 点赞加关注,谢谢 左上角的数字显示消除气球的数量 定时随机生成气球 🎈🎈🎈

图片

源代码

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>在线扎气球小游戏</title>

<style>

body {

display: flex;

justify-content: center;

align-items: center;

height: 100vh;

background-color: #f0f0f0;

margin: 0;

font-family: Arial, sans-serif;

}

#score {

position: absolute;

top: 10px;

left: 10px;

font-size: 2rem;

}

.balloon {

width: 160px; /* 调整宽度以匹配高度,使气球更圆 */

height: 160px; /* 保持高度不变 */

border-radius: 50%; /* 调整为50%,使气球主体更圆 */

background: linear-gradient(#ffdad6, #ff8080);

position: absolute;

cursor: pointer;

}

.balloon:after {

content: "";

width: 4px;

height: 40px;

background-color: darkgray;

position: absolute;

bottom: -40px;

left: calc(50% - 2px);

}

</style>

</head>

<body>

<div id="score">0</div>

<script>

let score = 0;

const scoreElement = document.getElementById('score');

const colors = "#ff8080", "#80ff80", "#8080ff", "#ffff80", "#80ffff";

function createBalloon() {

const balloon = document.createElement('div');

balloon.className = 'balloon';

balloon.style.backgroundColor = `linear-gradient(#e6e6fa, ${colorsMath.floor(Math.random() \* colors.length)})`;

balloon.style.left = Math.random() * (window.innerWidth - 160) + 'px'; /* 调整left值以避免超出屏幕 */

balloon.style.top = Math.random() * (window.innerHeight - 160) + 'px';

document.body.appendChild(balloon);

balloon.addEventListener('click', () => {

balloon.remove();

score++;

scoreElement.textContent = score;

if (score > 15) {

alert('恭喜你!你赢了!');

location.reload(); // 重新加载页面

}

});

}

window.onload = function() {

setInterval(createBalloon, 1000);

createBalloon();

};

</script>

</body>

</html>

相关推荐
李姆斯4 小时前
为啥Agent在coding表现这么好,但是在别的领域就是差的不少?
前端·agent·ai编程
鱼与宇7 小时前
前端Web(html+css+js+vue3)
前端
雪芽蓝域zzs9 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
研☆香9 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
东风破_9 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_9 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_9 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端
东风破_9 小时前
JWT 2:HTTP 是无状态的,为什么登录成功后还要给 Token?
前端·后端
东风破_9 小时前
JWT 4:Zustand 到底解决了什么?为什么登录状态要放进 Store?
前端·后端
IT_陈寒9 小时前
Vite动态导入差点让我秃头,原来问题出在这
前端·人工智能·后端