homework.html
<!DOCTYPE>
<html>
<head>
<meta charset="utf-8">
<title>打地鼠</title>
<link rel="stylesheet" type="text/css" href="test.css" />
<script type="text/javascript" src="test.js"></script>
</head>
<body onload="create()">
<div id="title">
<h1>打地鼠</h1>
<p>操作说明:用鼠标点击。当前分数是:<span id="score">0</span>分。剩余的时间:<span id="time">0</time>秒。</p>
</div>
<div id="list">
<form>
请选择难度
<select id="difficulty" onchange="changeDifficulty();">
<option value="hard">Hard</option>
<option value="middle">Middle</option>
<option value="easy">Easy</option>
<option value="relax">Relax</option>
</select>
请输入游戏时间:<input type="txt" id="WantTime" value="10">
</form>
<button id="begin" type="button" onclick="begin()">开始</button>
<button id="end" type="button" onclick="stop()">结束</button>
</div>
<div id="wrapper">
</div>
</body>
</html>
test.js
var difficulty="hard";//难度
var time=500;//间隔事件
var endtime=new Number(10);//结束时间
function changeDifficulty()
{
difficulty=document.getElementById("difficulty").value;
switch(difficulty)
{
case "hard": time=500;break;
case "middle": time=800;break;
case "easy": time=1200;break;
case "relax": time=2000;break;
}
}
function create()
{
var body=document.getElementById("wrapper");;
//游戏时间更新
for(var i=0;i<10;i++)
{
var line=document.createElement("div");
line.id="line"+(i+1);
body.appendChild(line);
for(var j=1;j<=10;j++)
{
var note=document.createElement("div");
line.appendChild(note);
note.id="note"+(i*10+j);
//css
note.style.height="30px";
note.style.width="30px";
note.style.borderRadius="100%";
note.style.margin="10px";
note.style.backgroundColor="#86cab1";
note.style.display="inline-block";
note.style.border="1px solid #4fbaeb"
}
}
}
var note;//当前随机节点
var timer;//用作关闭的引用
var score=0;//分数
var timing=new Number(0);//计时器
function AddScore()
{
score++;
document.getElementById("score").innerHTML=score;
init();
}
function init()
{
note.removeEventListener("click",AddScore);
note.style.backgroundColor="#86cab1";
}
function begin()
{
//更新剩余时间
endtime=document.getElementById("WantTime").value;
//随机数生成
var aim=Math.floor(100*Math.random())+1;
note=document.getElementById("note"+aim);
//样式
note.style.backgroundColor="#ea617f";
note.addEventListener("click",AddScore);
//更新计数器
timing+=time/1000;
var showtime=new Number();
showtime=endtime-timing;
document.getElementById("time").innerHTML=showtime.toFixed(2);
setTimeout("init()",time);
timer=setTimeout("begin()",time);
if(timing>endtime)
{
alert("游戏结束!你的得分是 "+score);
stop();
}
}
function stop()
{
timing=0;
score=0;
note.style.backgroundColor="#86cab1";
clearTimeout(timer);
document.getElementById("score").innerHTML=score;
document.getElementById("time").innerHTML=timing;
}
test.css
#title {
text-align: center;
}
#list {
text-align: center;
}
select {
margin-right: 30px;
}
#wrapper {
text-align: center;
}