打地鼠游戏

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>打地鼠</title>

<style type="text/css">
<!--设置光标的图片路径为'images/mouse.ani'-->
img{cursor:url('images/mouse.ani');}
</style>

<script language="JavaScript">
// 定义定时执行程序的变量
var no1,no2,no3,no4;
// 声明游戏时间变量、地鼠出现的时间间隔、停留时间变量
var gameTime,spaceTime,stayTime;
// 声明开始按钮、结束按钮
var button1,button2;
// 声明倒计时间变量
var time;
// 声明地鼠总个数
var sum=0;
// 声明打中了的变量
var mouse=0;


// 开始游戏,执行init方法并设置 每隔1秒钟执行showTime和showImage方法
function onGame(){
	init();
	no1=window.setInterval("showTime()",1000);	
	no2=setInterval("showImage()",1000);
}


// 在输入框输入值后的初始化方法,主要是设置各个输入框和按钮的禁用和不禁用
function init(){
	// 得到id为gameTime的引用
	gameTime=document.getElementById("gameTime");
	// 得到id为spaceTime的引用
	spaceTime=document.getElementById("spaceTime");
	// 得到id为stayTime的引用
	stayTime=document.getElementById("stayTime");
	// 禁用gametime输入框
	gameTime.disabled=true;
	// 禁用spaceTime输入框
	spaceTime.disabled=true;
	// 禁用stayTime输入框
	stayTime.disabled=true;
	// 得到id为button1的引用
	button1=document.getElementById("button1"); 
	// 得到id为button1的引用
	button2=document.getElementById("button2");
	// 禁用button1按钮
	button1.disabled=true;
	// 不禁用button2按钮
	button2.disabled=false;
	// 把输入的游戏时间转换为整数后赋值给倒计时
	time=parseInt(gameTime.value)*60;
	// 设置地鼠总数变量为0
	sum=0;
	// 打中的地鼠个数为0
	mouse=0;
}   
	

// 倒计时自减1,如果小于0就调用esc方法关闭游戏,
function showTime(){  
	// 获得倒计时时间,并输出显示
	document.getElementById("time").innerHTML=time;
	time-=1;
	if(time<=0){
		esc();
	}
	// 输出得分情况
	var str="打中:"+mouse+"只  漏掉:"+(sum-mouse)+"只"+"<br>"+" 总分:"+sum*100+"  得分:"+(mouse*100-(sum-mouse)*100);
	// 获得得分,并输出显示
	document.getElementById("score").innerHTML=str;
}

//+-----------------------------------------------
//| images/00.jpg为原始背景图片、images/01.jpg为地鼠图片、images/02.jpg为击中地鼠图片
//+-----------------------------------------------

// 随机把某个单元格的背景图片更换为地鼠图片
function showImage(){  
	 // 获得名字为image的图像集合
     var images=document.getElementsByName("image");
	 // 获得随机数并转型为整数,赋值给index
     var index=Math.floor(Math.random()*25);
	 // 将得到的随机整数当做图像集合的下标得到对应的图像,并且赋给它新的图片路径,更改图片为地鼠
     images[index].src="images/01.jpg";
	 // 每更改图片为地鼠图片1次,地鼠总数自增1个
	 sum+=1;
	 // 把获得的随机整数和页面输入的停留时间当做参数写入stopImage()方法,再当做参数放入定时执行程序的settime()方法,最后赋值给no3变量
	 no3=setTimeout("stopImage("+index+")",parseInt(stayTime.value)*1000);
}    


// 把打中地鼠的图片更换为原始背景图片,参数为产生的随机整数
function stopImage(index){
     
	 document.images[index].src="images/00.jpg";
	
}  


// 当鼠标点击结束后,把打击的地鼠或击中的地鼠图片更换为原始的背景图片
function leaveImage(o){
     
	 o.src="images/00.jpg";
	
}


// 当击中地鼠时,为防止击中的图片错误,所以先截取到的打击地鼠的图片名是否等于"01.jpg",如果是就赋值给它一个新的路径images/02.jpg(击中地鼠的图片),同时击中地鼠的次数mouse加1,最后每过0.5秒再把路径改为"images/00.jpg",更改为原始的背景图片;
function clickMouse(o){
	  // 截取
      var str=o.src.substr(o.src.length-6,6);
	  if(str=="01.jpg"){
	   o.src="images/02.jpg";
	   mouse+=1;
	   
	   no4=setInterval("leaveImage(o)",500);
	  }
}
// 关闭游戏
function esc(){
	// 关闭no1计时器
	window.clearInterval(no1);
	window.clearInterval(no2);
	window.clearTimeout(no3);
	window.clearInterval(no4);
	// 不禁用gameTime输入框
	gameTime.disabled=false;
	spaceTime.disabled=false;
	stayTime.disabled=false;
	// 不禁用button1按钮
	button1.disabled=false;
	// 获得name为image的图像集合
	var images=document.getElementsByName("image");
	// 遍历赋值所有的图片路径为:"images/00.jpg",更改为原始的背景图片
	for(var i=0;i<images.length;i++){
		images[i].src="images/00.jpg";
	}
}
</script>
</head>
<!---->
<!--设置背景图片-->
<body background="images/bg.jpg" >
<!--设置背景音乐-->
<bgsound  src="images/bgsound.mp3" loop="-1">
<!--设置表位置居中-->
<table align="center">
	<tr>
		<td><font color="#0066FF">游戏说明:</font></td>
	</tr>
	<tr>
		<td>
			<font color="#0066FF">点击“开始游戏”按钮,在下图中随机产生老鼠,老鼠消失前单击老鼠进行击打,<br>打中一次即可获得100的积分,没有打中老鼠,扣取100积分。快快行动吧,考验您的<br>反应和眼力!</font>
		</td>
	</tr>
    <!--设置改行靠右对齐-->
	<tr align="right">
		<td><font color="#0066FF">作者:xxx<br></font></td>
	</tr>
</table>

<br />
<br />
<!--设置该表居中对齐,单元格间距为5-->
<table align="center" cellspacing="5">
	<tr>
		<td>
        	<!--设置单元格间距为3-->
			<table cellspacing="3">
				<tr>
					<td>--游戏时间:--</td>
                    <!--设置该输入框类型为文本类型,宽度为6px,id为gameTime,默认值为1分钟-->
					<td><input type="text" width="6" id="gameTime" value="1"/> 分钟</td>
				</tr>
				<tr>
					<td>--倒计时间:--</td>
					<td><div id="time"></div></td>
				</tr>
				<tr>
					<td>--地鼠出现间隔:--</td>
					<td><input type="text" width="6" id="spaceTime" value="1"/> 秒钟</td>
				</tr>
				<tr>
					<td>--停留时间:--</td>
					<td><input type="text" width="6" id="stayTime" value="1"/> 秒钟</td>
				</tr>
				<tr>
					<td>--得分情况:--</td>
					<td><div id="score"></div></td>
				</tr>
                <!--设置改行位置居中-->
				<tr align="center">
                	<!--设置该单元格类型为button,id为button1,单击的调用的是开始游戏方法onGame-->
					<td ><input type="button" value="开始游戏" id="button1" onclick="onGame()"/></td>
					<!--设置该单元格类型为button,id为button2,单击的调用的是结束游戏方法esc-->
                    <td><input type="button" value="退出游戏" id="button2" disabled onclick="esc()"/></td>
				</tr>
			</table>
		</td>
		<td>
        	<!--设置该表边框宽度为1,单元格间距为3,背景颜色为白色-->
			<table border="1"  cellspacing="3" bgcolor="white">
				<tr>
                	<!--设置单元格中的内容为一张图片-->
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
				</tr>
				<tr>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
				</tr>
				<tr>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
				</tr>
				<tr>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
				</tr>
				<tr>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
					<td><img src="images/00.jpg" name="image" onclick="clickMouse(this)"/></td>
				</tr>
			</table>
		</td>
	</tr>
</table>
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值