写一个2048html游戏
时间: 2023-07-25 13:44:16 浏览: 45
当然可以!以下是一个简单的2048游戏的HTML、CSS和JavaScript代码示例。
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>2048 Game</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="container">
<h1>2048</h1>
<div class="grid-container">
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
<div class="grid-row">
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
<div class="grid-cell"></div>
</div>
</div>
<div class="score-container">
<div class="score">Score: 0</div>
<div class="best-score">Best Score: 0</div>
</div>
<button class="new-game-button">New Game</button>
</div>
<script src="script.js"></script>
</body>
</html>
```
CSS代码:
```css
.container {
width: 400px;
margin: auto;
text-align: center;
font-family: Arial, sans-serif;
}
h1 {
font-size: 48px;
margin-top: 0;
}
.grid-container {
display: inline-block;
background-color: #BBADA0;
border-radius: 5px;
margin: 20px 0;
padding: 10px;
}
.grid-row {
display: flex;
justify-content: space-between;
}
.grid-cell {
width: 90px;
height: 90px;
background-color: #CDC1B4;
border-radius: 5px;
margin: 5px;
display: flex;
justify-content: center;
align-items: center;
font-size: 36px;
}
.score-container {
display: flex;
justify-content: space-between;
margin-bottom: 20px;
}
.score, .best-score {
font-size: 24px;
font-weight: bold;
}
.new-game-button {
font-size: 24px;
padding: 10px 20px;
border-radius: 5px;
background-color: #8F7A66;
color: white;
border: none;
cursor: pointer;
}
```
JavaScript代码:
```javascript
// 初始化游戏
function initGame() {
score = 0;
updateScore();
generateNewNumber();
generateNewNumber();
}
// 生成新数字
function generateNewNumber() {
// TODO: 实现生成新数字的逻辑
}
// 更新分数
function updateScore() {
// TODO: 实现更新分数的逻辑
}
// 移动方块
function move(direction) {
// TODO: 实现移动方块的逻辑
}
// 开始新游戏
function startNewGame() {
initGame();
}
// 处理按键事件
function handleKeyDown(event) {
switch (event.keyCode) {
case 37: // 左箭头
move("left");
break;
case 38: // 上箭头
move("up");
break;
case 39: // 右箭头
move("right");
break;
case 40: // 下箭头
move("down");
break;
}
}
// 注册事件监听器
document.addEventListener("DOMContentLoaded", function() {
initGame();
document.addEventListener("keydown", handleKeyDown);
document.querySelector(".new-game-button").addEventListener("click", startNewGame);
});
```
以上是一个简单的2048游戏的HTML、CSS和JavaScript代码示例,完整的实现需要您自己添加一些逻辑。