JS实现点星星消除小游戏

步骤及游戏功能分析:

1.网页上的随机出现小星星;
2.点击小星星,小星星消失;
    绑定一个onclick事件:
    对象.事件 = 事件处理函数;
    注意:要想删除某个节点,必须找到它的父节点
    注意:在绑定事件中this可以直接使用
3.添加功能开始游戏
4.添加功能暂停游戏

5.游戏进度条功能

<style type="text/css">
	#d2{
		width: 100px;
		height: 20px;
		border: 1px solid red;
		display: inline-block;
	}
	#d3{
		display: inline-block;
		background: yellow;
		height: 20px;
	}
</style>
<script type="text/javascript">
	//window.onload = init;
	
	var countstar = 0;//控制星星个数变量
	var timerStar;//生成星星定时器
	var timerGameTime
	var t = 0;//记录时间变量
	//开始游戏的函数
	function startGame(){
		window.clearInterval(timerStar);
		window.clearInterval(timerGameTime);
		timerStar = window.setInterval("star()",500);
		timerGameTime = window.setInterval("time()",1000);	//记录游戏时间
	}

	//创建星星的函数
	function star(){
		var obj = document.createElement("img");
		obj.src = "images/star.png";
		obj.width = Math.floor(Math.random()*60+20);
		obj.style.position = "absolute";
		obj.style.left = Math.floor(Math.random()*1700+100)+"px";
		obj.style.top = Math.floor(Math.random()*500+30)+"px";
		document.body.appendChild(obj);
		countstar++;
		var sp = document.getElementById("d3");
		sp.style.width = countstar*10+"px";

		if (countstar > 10) {
			alert("游戏结束");
			window.clearInterval(timerStar);
			location.reload();
		}
		obj.onclick = removeStar;
	}

	//点击删除星星的函数
	function removeStar(){
		this.parentNode.removeChild(this);
		countstar --;
		var sp = document.getElementById("d3");
		sp.style.width = countstar*10+"px";
	}

	//点击暂停游戏的函数
	function pauseGame(){
		alert("游戏已暂停,点击确定继续游戏。");
	}
	
	//记录游戏时间的函数
	function time(){
		t++
		var obj = document.getElementById("d1");
		obj.innerHTML= "游戏进行了"+t+"秒";
	}
</script>

<body>
    <input type="button" value="开始游戏" οnclick="startGame()" name="">
    <input type="button" value="暂停游戏" οnclick="pauseGame()" name="">
    <span id="d1">游戏进行了0秒</span>
    <span id="d2"><span id="d3"></span></span>
</body>

游戏效果:


  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值