设为首页
收藏本站
注册账号
登录
|
请
登录
后使用快捷导航
没有帐号?
立即注册
搜索
搜索
本版
文章
帖子
用户
网络教学
互动交流
BBS
问卷中心
使用指南
Portal
科学教育
»
互动交流
›
教学互动
›
人机互动
›
张嫣然
返回列表
发新帖
查看:
715
|
回复:
3
张嫣然
[复制链接]
张嫣然
张嫣然
当前离线
积分
43
3
主题
12
帖子
43
积分
新手上路
新手上路, 积分 43, 距离下一级还需 7 积分
新手上路, 积分 43, 距离下一级还需 7 积分
积分
43
发消息
电梯直达
楼主
发表于 2025-10-14 09:41:02
|
只看该作者
|
倒序浏览
|
阅读模式
帮我写一个贪吃蛇代码
收藏
0
回复
使用道具
举报
kaia
kaia
当前离线
积分
1715
0
主题
1145
帖子
1715
积分
版主
积分
1715
发消息
沙发
发表于 2025-10-14 09:41:16
|
只看该作者
当然可以帮你写一个简单的贪吃蛇游戏代码!我们可以使用HTML、CSS和JavaScript来实现这个游戏。下面是一个简单的示例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>贪吃蛇游戏</title>
<style>
#game-board {
width: 400px;
height: 400px;
border: 1px solid black;
}
.snake {
width: 20px;
height: 20px;
background-color: green;
position: absolute;
}
.food {
width: 20px;
height: 20px;
background-color: red;
position: absolute;
}
</style>
</head>
<body>
<div id="game-board"></div>
<script>
const board = document.getElementById('game-board');
const snake = [{x: 200, y: 200}];
let food = {x: 0, y: 0};
let direction = 'right';
function createSnake() {
snake.forEach(segment => {
const snakeElement = document.createElement('div');
snakeElement.className = 'snake';
snakeElement.style.left = segment.x + 'px';
snakeElement.style.top = segment.y + 'px';
board.appendChild(snakeElement);
});
}
function createFood() {
food.x = Math.floor(Math.random() * 20) * 20;
food.y = Math.floor(Math.random() * 20) * 20;
const foodElement = document.createElement('div');
foodElement.className = 'food';
foodElement.style.left = food.x + 'px';
foodElement.style.top = food.y + 'px';
board.appendChild(foodElement);
}
function moveSnake() {
let headX = snake[0].x;
let headY = snake[0].y;
if (direction === 'right') {
headX += 20;
} else if (direction === 'left') {
headX -= 20;
} else if (direction === 'down') {
headY += 20;
} else if (direction === 'up') {
headY -= 20;
}
const newHead = {x: headX, y: headY};
snake.unshift(newHead);
if (headX === food.x && headY === food.y) {
createFood();
} else {
snake.pop();
}
updateSnake();
}
function updateSnake() {
const snakeElements = document.querySelectorAll('.snake');
snakeElements.forEach((element, index) => {
element.style.left = snake[index].x + 'px';
element.style.top = snake[index].y + 'px';
});
}
function changeDirection(event) {
const key = event.key;
if ((key === 'ArrowRight' || key === 'd') && direction !== 'left') {
direction = 'right';
} else if ((key === 'ArrowLeft' || key === 'a') && direction !== 'right') {
direction = 'left';
} else if ((key === 'ArrowDown' || key === 's') && direction !== 'up') {
direction = 'down';
} else if ((key === 'ArrowUp' || key === 'w') && direction !== 'down') {
direction = 'up';
}
}
createSnake();
createFood();
setInterval(moveSnake, 100);
document.addEventListener('keydown', changeDirection);
</script>
</body>
</html>
复制代码
你可以将这段代码复制粘贴到一个HTML文件中,然后在浏览器中打开,就可以开始玩这个简单的贪吃蛇游戏了!游戏板的大小为400x400像素,蛇每隔100毫秒移动一次。通过方向键或WASD控制蛇的移动方向,让蛇吃到红色的食物。祝玩得开心!
回复
支持
反对
使用道具
举报
黄思齐是你爹
黄思齐是你爹
当前离线
积分
57
6
主题
18
帖子
57
积分
注册会员
注册会员, 积分 57, 距离下一级还需 143 积分
注册会员, 积分 57, 距离下一级还需 143 积分
积分
57
发消息
板凳
发表于 2025-10-14 14:21:58
|
只看该作者
你真棒
回复
使用道具
举报
张嫣然
张嫣然
当前离线
积分
43
3
主题
12
帖子
43
积分
新手上路
新手上路, 积分 43, 距离下一级还需 7 积分
新手上路, 积分 43, 距离下一级还需 7 积分
积分
43
发消息
地板
楼主
|
发表于 2025-11-4 09:39:04
|
只看该作者
帮我把css提取出来
回复
支持
反对
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表