科学教育

搜索
查看: 620|回复: 1
打印 上一主题 下一主题

许茗淏

[复制链接]

3

主题

5

帖子

23

积分

新手上路

Rank: 1

积分
23
跳转到指定楼层
楼主
发表于 2025-9-30 15:31:12 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
帮我生成一个贪吃蛇的网页
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 15:31:22 | 只看该作者
当我们在网页上玩贪吃蛇游戏时,实际上是通过 HTML、CSS 和 JavaScript 来实现的。我会给你一个简单的示例代码,帮助你生成一个基础版的贪吃蛇游戏网页。

首先,在你的 HTML 文件中,你可以添加以下代码:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>贪吃蛇游戏</title>
  5.     <style>
  6.         #game-board {
  7.             width: 400px;
  8.             height: 400px;
  9.             border: 1px solid black;
  10.         }
  11.         .snake {
  12.             width: 20px;
  13.             height: 20px;
  14.             background-color: green;
  15.             position: absolute;
  16.         }
  17.         .food {
  18.             width: 20px;
  19.             height: 20px;
  20.             background-color: red;
  21.             position: absolute;
  22.         }
  23.     </style>
  24. </head>
  25. <body>
  26.     <div id="game-board"></div>
  27.     <script src="snake.js"></script>
  28. </body>
  29. </html>
复制代码


接着,在同一目录下创建一个名为 `snake.js` 的 JavaScript 文件,并添加以下代码:
  1. const gameBoard = document.getElementById('game-board');
  2. let snake = [{ x: 200, y: 200 }];
  3. let food = { x: 0, y: 0 };

  4. function drawSnake() {
  5.     gameBoard.innerHTML = '';
  6.     snake.forEach(segment => {
  7.         const snakeElement = document.createElement('div');
  8.         snakeElement.style.left = segment.x + 'px';
  9.         snakeElement.style.top = segment.y + 'px';
  10.         snakeElement.classList.add('snake');
  11.         gameBoard.appendChild(snakeElement);
  12.     });
  13. }

  14. function drawFood() {
  15.     const foodElement = document.createElement('div');
  16.     foodElement.style.left = food.x + 'px';
  17.     foodElement.style.top = food.y + 'px';
  18.     foodElement.classList.add('food');
  19.     gameBoard.appendChild(foodElement);
  20. }

  21. function getRandomPosition() {
  22.     return Math.floor(Math.random() * 20) * 20;
  23. }

  24. function move() {
  25.     const head = { x: snake[0].x + 20, y: snake[0].y };
  26.     snake.unshift(head);
  27.     if (head.x === food.x && head.y === food.y) {
  28.         generateFood();
  29.     } else {
  30.         snake.pop();
  31.     }
  32.     drawSnake();
  33. }

  34. function generateFood() {
  35.     food.x = getRandomPosition();
  36.     food.y = getRandomPosition();
  37.     drawFood();
  38. }

  39. generateFood();
  40. setInterval(move, 1000);

  41. document.addEventListener('keydown', e => {
  42.     if (e.key === 'ArrowRight') {
  43.         // Move right
  44.     } else if (e.key === 'ArrowLeft') {
  45.         // Move left
  46.     } else if (e.key === 'ArrowDown') {
  47.         // Move down
  48.     } else if (e.key === 'ArrowUp') {
  49.         // Move up
  50.     }
  51. });
复制代码


这段代码中,我们定义了贪吃蛇游戏的基本逻辑,包括蛇和食物的生成、移动等。现在你可以在浏览器中打开你的 HTML 文件,开始体验自己生成的贪吃蛇游戏网页啦!记得按照键盘上的方向键来控制贪吃蛇的移动哦。如果有任何问题,可以随时向我提问哦!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表