科学教育
标题:
贪吃蛇李言
[打印本页]
作者:
李言
时间:
2025-9-30 15:18
标题:
贪吃蛇李言
帮我生成一个贪吃蛇网页游戏代码 html,js,css
作者:
kaia
时间:
2025-9-30 15:18
当我们想要制作一个贪吃蛇的网页游戏时,我们需要使用HTML、CSS和JavaScript来实现。下面是一个简单的贪吃蛇网页游戏的示例代码:
1. 首先,创建HTML文件,命名为`index.html`,将以下代码复制粘贴进去:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>贪吃蛇游戏</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="game-container">
<div class="snake" id="snake"></div>
<div class="food" id="food"></div>
</div>
<script src="script.js"></script>
</body>
</html>
复制代码
2. 创建CSS文件,命名为`styles.css`,将以下代码复制粘贴进去:
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
}
.game-container {
position: relative;
width: 400px;
height: 400px;
border: 1px solid #000;
}
.snake, .food {
position: absolute;
width: 20px;
height: 20px;
background-color: green;
}
.food {
background-color: red;
}
复制代码
3. 创建JavaScript文件,命名为`script.js`,将以下代码复制粘贴进去:
const snake = document.getElementById('snake');
const food = document.getElementById('food');
let snakeX = 200;
let snakeY = 200;
let foodX;
let foodY;
function randomFoodPosition() {
foodX = Math.floor(Math.random() * 20) * 20;
foodY = Math.floor(Math.random() * 20) * 20;
food.style.left = foodX + 'px';
food.style.top = foodY + 'px';
}
function snakeMovement() {
document.addEventListener('keydown', function (e) {
if (e.key === 'ArrowRight') {
snakeX += 20;
} else if (e.key === 'ArrowLeft') {
snakeX -= 20;
} else if (e.key === 'ArrowUp') {
snakeY -= 20;
} else if (e.key === 'ArrowDown') {
snakeY += 20;
}
snake.style.left = snakeX + 'px';
snake.style.top = snakeY + 'px';
});
}
randomFoodPosition();
snakeMovement();
复制代码
通过上述代码,你可以创建一个简单的贪吃蛇网页游戏。玩家可通过键盘控制蛇的移动方向,使蛇吃到食物。在编写代码时,可以根据需求添加更多功能和样式以完善游戏体验。祝玩得开心!
作者:
李言
时间:
2025-9-30 15:38
改进一下以上代码
作者:
kaia
时间:
2025-9-30 15:38
李言 发表于 2025-09-30 15:38
改进一下以上代码
当然,我们可以对上面的贪吃蛇游戏代码进行改进,添加更多功能和样式以提升游戏体验。以下是改进后的代码:
1. HTML部分(index.html)保持不变。
2. CSS部分(styles.css)稍作修改:
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f0f0;
}
.game-container {
position: relative;
width: 400px;
height: 400px;
border: 1px solid #000;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.snake, .food {
position: absolute;
width: 20px;
height: 20px;
}
.food {
background-color: red;
}
复制代码
3. JavaScript部分(script.js)进行改进:
const gameContainer = document.querySelector('.game-container');
const snake = document.createElement('div');
snake.classList.add('snake');
gameContainer.appendChild(snake);
const food = document.createElement('div');
food.classList.add('food');
gameContainer.appendChild(food);
let snakeX = 200;
let snakeY = 200;
let foodX;
let foodY;
let direction = 'right';
let snakeTrail = [];
let tailLength = 1;
function randomFoodPosition() {
foodX = Math.floor(Math.random() * 20) * 20;
foodY = Math.floor(Math.random() * 20) * 20;
food.style.left = foodX + 'px';
food.style.top = foodY + 'px';
}
function gameLoop() {
snake.style.left = snakeX + 'px';
snake.style.top = snakeY + 'px';
snakeTrail.push({ x: snakeX, y: snakeY });
while (snakeTrail.length > tailLength) {
snakeTrail.shift();
}
for (let i = 0; i < snakeTrail.length - 1; i++) {
if (snakeTrail[i].x === snakeX && snakeTrail[i].y === snakeY) {
tailLength = 1;
}
}
if (snakeX === foodX && snakeY === foodY) {
tailLength++;
randomFoodPosition();
}
if (snakeX < 0 || snakeX >= 400 || snakeY < 0 || snakeY >= 400) {
tailLength = 1;
}
switch (direction) {
case 'up':
snakeY -= 20;
break;
case 'down':
snakeY += 20;
break;
case 'left':
snakeX -= 20;
break;
case 'right':
snakeX += 20;
break;
}
setTimeout(gameLoop, 100);
}
randomFoodPosition();
gameLoop();
document.addEventListener('keydown', function (e) {
switch (e.key) {
case 'ArrowUp':
direction = 'up';
break;
case 'ArrowDown':
direction = 'down';
break;
case 'ArrowLeft':
direction = 'left';
break;
case 'ArrowRight':
direction = 'right';
break;
}
});
复制代码
通过以上改进,我们增加了蛇的移动速度、蛇的尾部长度计算、食物的生成和吃掉效果等功能。请拷贝以上完整代码到对应文件中运行,让你的贪吃蛇游戏更加有趣!希望你喜欢这个改进后的版本!
作者:
李言
时间:
2025-11-4 08:49
帮我把CSS文件的字体修改成红色字体
作者:
kaia
时间:
2025-11-4 08:49
李言 发表于 2025-11-04 08:49
帮我把CSS文件的字体修改成红色字体
当需要把 CSS 文件中的字体颜色修改成红色,可以通过简单地添加一个 `color` 属性。下面是修改后的 CSS 代码:
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
background-color: #f0f0f0;
color: red; /* 修改字体颜色为红色 */
}
.game-container {
position: relative;
width: 400px;
height: 400px;
border: 1px solid #000;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.snake, .food {
position: absolute;
width: 20px;
height: 20px;
}
.food {
background-color: red;
}
复制代码
通过添加 `color: red;` 属性到 `body` 部分,将整个页面的字体颜色修改为红色。请将这段修改后的 CSS 代码替换原先的 `styles.css` 文件中的内容,保存并刷新浏览器即可看到效果。希望这样修改符合你的要求!
欢迎光临 科学教育 (http://www.sci-edu.net/)
Powered by Discuz! X3.2