下面是一个简单的记忆卡片配对游戏的完整代码,使用HTML、CSS和JavaScript实现:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cookie Clicker 简化版</title>
</head>
<body>
<h1>Cookie Clicker</h1>
<img id="cookie" src="https://img.icons8.com/color/480/cookie.png" alt="Cookie">
<div id="counter">饼干数量: 0</div>
<div id="upgrades">
<div class="upgrade" data-upgrade="cursor" data-cost="15" data-multiplier="1">
<h3>鼠标 (15)</h3>
<p>每秒生产 1 饼干</p>
</div>
<div class="upgrade" data-upgrade="grandma" data-cost="100" data-multiplier="5">
<h3>奶奶 (100)</h3>
<p>每秒生产 5 饼干</p>
</div>
<div class="upgrade" data-upgrade="farm" data-cost="500" data-multiplier="20">
<h3>农场 (500)</h3>
<p>每秒生产 20 饼干</p>
</div>
</div>
</body>
</html>
css
body {
margin: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #FFE4B5;
font-family: Arial, sans-serif;
}
#cookie {
width: 200px;
height: 200px;
cursor: pointer;
transition: transform 0.1s;
}
JavaScript
let cookies = 0;
let cookiesPerSecond = 0;
const cookieElement = document.getElementById('cookie');
const counterElement = document.getElementById('counter');
const upgrades = document.querySelectorAll('.upgrade');
// 点击饼干增加数量
cookieElement.addEventListener('click', () => {
cookies++;
updateCounter();
});
// 更新饼干计数显示
function updateCounter() {
counterElement.textContent = `饼干数量: ${cookies}`;
}
// 检查是否可以购买升级项
function checkUpgrades() {
upgrades.forEach(upgrade => {
const cost = parseInt(upgrade.getAttribute('data-cost'));
if (cookies >= cost) {
upgrade.classList.remove('locked');
} else {
upgrade.classList.add('locked');
}
});
}
展示效果
Cookie Clicker
游戏说明
- 游戏目标:点击饼干积累数量,解锁升级建筑。数值膨胀机制带来长期成就感。
- 技术亮点:纯前端逻辑,依赖定时器更新数值,数据存储在本地Storage中。
如何扩展
- 增加难度级别(不同大小的网格)
- 添加计时功能
- 增加更多卡片符号或使用图片
- 添加音效(翻转、匹配成功等)
- 添加动画效果
- 实现高分记录系统
这个游戏适合所有年龄段的人玩,可以锻炼记忆力和反应能力。代码结构清晰,适合初学者学习JavaScript事件处理和DOM操作。