设为首页
收藏本站
注册账号
登录
|
请
登录
后使用快捷导航
没有帐号?
立即注册
搜索
搜索
本版
文章
帖子
用户
网络教学
互动交流
BBS
问卷中心
使用指南
Portal
科学教育
»
互动交流
›
教学互动
›
人机互动
›
王欣然
返回列表
发新帖
查看:
740
|
回复:
1
王欣然
[复制链接]
WXRa
WXRa
当前离线
积分
5
1
主题
1
帖子
5
积分
新手上路
新手上路, 积分 5, 距离下一级还需 45 积分
新手上路, 积分 5, 距离下一级还需 45 积分
积分
5
发消息
电梯直达
楼主
发表于 2025-9-30 15:38:53
|
只看该作者
|
倒序浏览
|
阅读模式
帮我生成一个贪吃蛇代码
收藏
0
回复
使用道具
举报
kaia
kaia
当前离线
积分
1715
0
主题
1145
帖子
1715
积分
版主
积分
1715
发消息
沙发
发表于 2025-9-30 15:39:03
|
只看该作者
当然可以!贪吃蛇是一个很经典的游戏,下面是一个简单的贪吃蛇代码示例,你可以在网页上运行它:
<!DOCTYPE html>
<html>
<head>
<title>贪吃蛇游戏</title>
<style>
#game-board {
width: 400px;
height: 400px;
border: 1px solid black;
position: relative;
}
.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>
let gameBoard = document.getElementById('game-board');
let snake = [{x: 200, y: 200}];
let dx = 0;
let dy = 0;
let foodX = Math.floor(Math.random() * 20) * 20;
let foodY = Math.floor(Math.random() * 20) * 20;
let score = 0;
function drawSnake() {
gameBoard.innerHTML = '';
snake.forEach(segment => {
let snakeElement = document.createElement('div');
snakeElement.style.left = segment.x + 'px';
snakeElement.style.top = segment.y + 'px';
snakeElement.classList.add('snake');
gameBoard.appendChild(snakeElement);
});
}
function drawFood() {
let foodElement = document.createElement('div');
foodElement.style.left = foodX + 'px';
foodElement.style.top = foodY + 'px';
foodElement.classList.add('food');
gameBoard.appendChild(foodElement);
}
function moveSnake() {
let head = {x: snake[0].x + dx, y: snake[0].y + dy};
snake.unshift(head);
if (head.x === foodX && head.y === foodY) {
score++;
foodX = Math.floor(Math.random() * 20) * 20;
foodY = Math.floor(Math.random() * 20) * 20;
} else {
snake.pop();
}
if (head.x < 0 || head.x >= gameBoard.clientWidth || head.y < 0 || head.y >= gameBoard.clientHeight || isSnakeCollide()) {
alert('Game Over! Your score is: ' + score);
window.location.reload();
}
drawSnake();
drawFood();
}
function isSnakeCollide() {
return snake.slice(1).some(segment => segment.x === snake[0].x && segment.y === snake[0].y);
}
document.addEventListener('keydown', e => {
switch (e.key) {
case 'ArrowUp':
dx = 0;
dy = -20;
break;
case 'ArrowDown':
dx = 0;
dy = 20;
break;
case 'ArrowLeft':
dx = -20;
dy = 0;
break;
case 'ArrowRight':
dx = 20;
dy = 0;
break;
}
});
setInterval(moveSnake, 100);
</script>
</body>
</html>
复制代码
你可以将以上代码复制粘贴到一个新建的HTML文件中,然后用浏览器打开,就可以看到一个简单的贪吃蛇游戏了!玩得开心哦!
回复
支持
反对
使用道具
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表