JavaScript 实现点击星星小游戏完整代码

作者:异步漫步时间:2026-10-23 16:53:48浏览:204

本文详细介绍如何使用 JavaScript、HTML 和 CSS 开发一个简单的点击星星互动游戏。内容涵盖项目文件结构准备、核心逻辑实现及代码优化建议,提供完整的可运行代码示例,适合前端初学者学习 DOM 操作与事件处理。

项目概述与功能说明

本文分享了一个使用 JavaScript 编写的点击星星游戏的完整实现方案,供读者参考学习。

功能简介

游戏机制如示意图所示,主要玩法为通过点击操作进行互动。

项目概述与功能说明

资源准备与文件结构

资源准备

需要一张星星形状的图片素材,示例中将其重命名为 xxx.png。

代码实现与优化建议

开发步骤

创建一个 HTML 文件,并将该图片放置在同一目录下。虽然文件较多时不建议如此管理,但本项目仅涉及少量文件,这样处理即可。


<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>小星星游戏</title>
</head>
<style>
 body{
 background-color: black;
 }
 meter{
 width:100%;
 }

 #title{
 width:100%;
 position: relative;
 text-align: center;
 color: #ffffff;
 }
 #score{
 position: absolute;
 top:0;
 left:90%;
 width:10%;
 color: #ffffff;
 }
 #jindu{
 padding:0 33%;
 }
 span{
 display: block;
 text-align: center;
 }
 span > button{
 width:20%;
 }
</style>
<body>
<div><h1 id="title">小星星游戏</h1></div>
<div><h1 id="score">得分:</h1></div>
<div id="jindu">
 <span>
 <meter id="meter" min="0" max="100"></meter>
 </span>
 <span>
 <button onclick="start()">开始</button>
 <button onclick="restart()">重玩</button>
 </span>
</div>
<script>
 var c = 0;
 function start(){
 //console.log("调用");
 //周期的调用函数,0.2s
  t1 = window.setInterval(show,200)
 }
 var meter = document.getElementById("meter");
 meter.value=0;
 var j =0;
 function show(){
 meter.value+=5;
 // console.log(meter.value)
 if(j<=meter.value){
  j=meter.value;
 }else{
  window.clearInterval(t1)
 }
 if(j==100){
  j=101;
  alert("游戏结束,共消除了"+c+"个小星星");
  window.clearInterval(t1)
 }
 var img = document.createElement('img');
 img.src='xxx.png';
 img.style.position="absolute";
 //math.floor向下取整
 var w = Math.floor(Math.random()*(100-20+1)+20);
 var l = Math.floor(Math.random()*(1500-20+1)+20);
 var t = Math.floor(Math.random()*(600-150+1)+150);
 img.width = w;
 img.style.top = t+"px";
 img.style.left = l+"px";
 document.body.appendChild(img);
 img.onclick =rem;
 }
 function rem() {
 //通过父元素删除子节点
 this.parentNode.removeChild(this);
 var score= document.getElementById("score")
 if(meter.value!=100){
  meter.value-=8;
  j-=8;
  c++;
  score.innerText="得分:"+c;
 }
 }
 function restart(){
 //重新载入当前文档
 location.reload();
 }

</script>
</body>
</html>

项目收尾

为了代码结构清晰,CSS 样式和 JavaScript 逻辑可以分别写入独立文件,但务必在 HTML 中正确引入这些外部资源。


<link href = "css文件路径" rel = "stylesheet">
<script src="js文件路径" type="text/javascript"></script>

如需了解更多 JavaScript 游戏开发技巧,可查阅相关专题《JavaScript 经典游戏 玩不停》。

以上就是本文的全部内容,希望能为读者的学习提供有益帮助,同时也欢迎大家继续支持本站。

作者最新文章