html打地鼠代码
以下是一个简单的HTML打地鼠游戏代码:
<!DOCTYPE html>
<html>
<head>
<title>打地鼠游戏</title>
<style>
body {
background-color: #f2f2f2;
}
#game-board {
width: 500px;
height: 500px;
margin: 0 auto;
border: 1px solid #ccc;
position: relative;
}
#mole {
width: 50px;
height: 50px;
background-color: brown;
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
display: none;
}
</style>
</head>
<body>
<h1>打地鼠游戏</h1>
<p>点击地鼠得分,时间到了游戏结束。</p>
<div id="game-board">
<div id="mole"></div>
</div>
<p>得分:<span id="score">0</span></p>
<p>时间:<span id="time">30</span>秒</p>
<button id="start-btn">开始游戏</button>
<script>
var score = 0;
var time = 30;
var moleInterval;
function startGame() {
document.getElementById('start-btn').disabled = true;
moleInterval = setInterval(showMole, 1000);
setTimeout(endGame, time * 1000);
}
function showMole() {
var mole = document.getElementById('mole');
var boardWidth = document.getElementById('game-board').offsetWidth;
var boardHeight = document.getElementById('game-board').offsetHeight;
var randomX = Math.floor(Math.random() * (boardWidth - mole.offsetWidth));
var randomY = Math.floor(Math.random() * (boardHeight - mole.offsetHeight));
mole.style.top = randomY + 'px';
mole.style.left = randomX + 'px';
mole.style.display = 'block';
mole.onclick = function() {
score++;
document.getElementById('score').innerHTML = score;
mole.style.display = 'none';
}
setTimeout(function() {
mole.style.display = 'none';
}, 800);
}
function endGame() {
clearInterval(moleInterval);
document.getElementById('start-btn').disabled = false;
alert('游戏结束,得分:' + score);
score = 0;
time = 30;
document.getElementById('score').innerHTML = score;
document.getElementById('time').innerHTML = time;
}
document.getElementById('start-btn').onclick = startGame;
</script>
</body>
</html>
这个游戏使用了HTML、CSS和JavaScript来实现。游戏板块使用了一个<div>元素,地鼠使用了另一个<div>元素,并使用了CSS来设置它们的样式。JavaScript代码用于控制游戏逻辑,包括开始游戏、显示地鼠、得分、时间等。
这个游戏的实现思路如下:
在HTML中创建一个游戏板块<div>元素和一个地鼠<div>元素,并使用CSS设置它们的样式。
使用JavaScript控制游戏逻辑,包括开始游戏、显示地鼠、得分、时间等。
点击地鼠可以得分,时间到了游戏结束。
具体实现步骤如下:
在HTML中创建游戏板块和地鼠元素,并使用CSS设置它们的样式。
<div id="game-board">
<div id="mole"></div>
</div>
<style>
#game-board {
width: 500px;
height: 500px;
margin: 0 auto;
border: 1px solid #ccc;
position: relative;
}
#mole {
width: 50px;
height: 50px;
background-color: brown;
border-radius: 50%;
position: absolute;
top: 0;
left: 0;
display: none;
}
</style>
使用JavaScript控制游戏逻辑。
首先,定义一个变量score来记录得分,一个变量time来记录剩余时间,一个变量moleInterval来记录地鼠出现的定时器。
var score = 0;
var time = 30;
var moleInterval;
然后,定义一个startGame函数来开始游戏。在函数中,禁用开始按钮,使用setInterval函数每隔一秒钟调用showMole函数显示地鼠,使用setTimeout函数在游戏时间结束后调用endGame函数结束游戏。
function startGame() {
document.getElementById('start-btn').disabled = true;
moleInterval = setInterval(showMole, 1000);
setTimeout(endGame, time * 1000);
}
接着,定义一个showMole函数来显示地鼠。在函数中,获取游戏板块的宽度和高度,随机生成地鼠的位置,设置地鼠的位置和显示,为地鼠添加点击事件,点击地鼠可以得分,使用setTimeout函数在一定时间后隐藏地鼠。
function showMole() {
var mole = document.getElementById('mole');
var boardWidth = document.getElementById('game-board').offsetWidth;
var boardHeight = document.getElementById('game-board').offsetHeight;
var randomX = Math.floor(Math.random() * (boardWidth - mole.offsetWidth));
var randomY = Math.floor(Math.random() * (boardHeight - mole.offsetHeight));
mole.style.top = randomY + 'px';
mole.style.left = randomX + 'px';
mole.style.display = 'block';
mole.onclick = function() {
score++;
document.getElementById('score').innerHTML = score;
mole.style.display = 'none';
}
setTimeout(function() {
mole.style.display = 'none';
}, 800);
}
最后,定义一个endGame函数来结束游戏。在函数中,清除地鼠出现的定时器,启用开始按钮,弹出得分提示框,重置得分和时间。
function endGame() {
clearInterval(moleInterval);
document.getElementById('start-btn').disabled = false;
alert('游戏结束,得分:' + score);
score = 0;
time = 30;
document.getElementById('score').innerHTML = score;
document.getElementById('time').innerHTML = time;
}
在HTML中添加开始按钮、得分和时间显示,并为开始按钮添加点击事件。
<p>得分:<span id="score">0</span></p>
<p>时间:<span id="time">30</span>秒</p>
<button id="start-btn">开始游戏</button>
<script>
document.getElementById('start-btn').onclick = startGame;
</script>
完整代码如下: