欢迎来到贪吃蛇游戏在线玩页面!这款经典的游戏无需登录即可畅玩。在这里,你可以挑战自己的极限,尝试在各种难度下通关。贪吃蛇游戏起源于1980年代,凭借其简单的操作和引人入胜的玩法,风靡全球。游戏的目标是帮助贪吃蛇吃到尽可能多的食物,同时避免撞到墙壁或自己的身体。时间的推移,贪吃蛇会变得越来越长,难度也会逐渐加大。快来挑战吧,看看你能闯过多少关!
贪吃蛇游戏在线玩
<script>
let snake = [{ x: 50, y: 50 }];
let food = { x: 100, y: 100 };
let direction = "RIGHT";
let interval;
function startGame() {
document.getElementById("gameBoard").innerHTML = `
分数:0
`;
interval = setInterval(() =>
{
update();
draw();
}, 100);
}
function update() {
let newX = snake[0].x;
let newY = snake[0].y;
if (direction === "RIGHT") newX += 20;
if (direction === "LEFT") newX -= 20;
if (direction === "UP") newY -= 20;
if (direction === "DOWN") newY += 20;
snake.unshift({ x: newX, y: newY });
snake.pop();
if (checkCollision(newX, newY, food)) {
food = generateFood();
} else {
snake.pop();
}
}
function draw() {
let ctx = document.getElementById("gameCanvas").getContext("2d");
ctx.clearRect(0, 0, 400, 400);
// Draw snake
ctx.fillStyle = "green";
snake.forEach((segment) =>
{
ctx.fillRect(segment.x, segment.y, 20, 20);
});
// Draw food
ctx.fillStyle = "red";
ctx.fillRect(food.x, food.y, 20, 20);
// Draw score
ctx.fillStyle = "black";
ctx.font = "20px Arial";
ctx.fillText(snake.length - 1, 10, 30);
}
function checkCollision(x, y, food) {
if (x === food.x && y === food.y) {
return true;
}
for (let i = 1; i < snake.length; i++) {
if (x === snake[i].x && y === snake[i].y) {
return true;
}
}
return false;
}
function generateFood() {
let x = Math.floor(Math.random() * (400 / 20)) * 20;
let y = Math.floor(Math.random() * (400 / 20)) * 20;
return { x: x, y: y };
}
document.addEventListener("keydown", ((event) =>
{
if (event.key === "ArrowUp" && direction !== "DOWN") direction = "UP";
if (event.key === "ArrowDown" && direction !== "UP") direction = "DOWN";
if (event.key ===>