科学教育

标题: 楼梓毓贪吃蛇游戏 [打印本页]

作者: 楼梓毓1    时间: 2025-9-30 10:04
标题: 楼梓毓贪吃蛇游戏
帮我做一个有HTML,CSS,JS的贪吃蛇游戏代码

作者: kaia    时间: 2025-9-30 10:04
当然可以!让我们一步步来创建一个简单的贪吃蛇游戏吧。

首先,我们需要三个文件:一个 HTML 文件、一个 CSS 文件和一个 JS 文件。在 HTML 文件中,我们将创建游戏区域;在 CSS 文件中,我们将设置样式;在 JS 文件中,我们将编写游戏的逻辑。

### 1. HTML 文件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>贪吃蛇游戏</title>
  7.     <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10.     <div class="game-area" id="gameArea">
  11.         <!-- 游戏区域 -->
  12.     </div>
  13.    
  14.     <script src="script.js"></script>
  15. </body>
  16. </html>
复制代码


### 2. CSS 文件 (`style.css`)

  1. .game-area {
  2.     width: 400px;
  3.     height: 400px;
  4.     border: 1px solid #000;
  5.     position: relative;
  6. }

  7. .snake {
  8.     width: 10px;
  9.     height: 10px;
  10.     background-color: green;
  11.     position: absolute;
  12. }

  13. .food {
  14.     width: 10px;
  15.     height: 10px;
  16.     background-color: red;
  17.     position: absolute;
  18. }
复制代码


### 3. JS 文件 (`script.js`)

  1. const gameArea = document.getElementById('gameArea');
  2. let snake = [{x: 10, y: 10}];
  3. let food = {x: 200, y: 200};
  4. let direction = 'right';

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

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

  22. function update() {
  23.     // 更新蛇的位置
  24.     const head = {x: snake[0].x, y: snake[0].y};
  25.    
  26.     if (direction === 'right') {
  27.         head.x += 10;
  28.     } else if (direction === 'left') {
  29.         head.x -= 10;
  30.     } else if (direction === 'up') {
  31.         head.y -= 10;
  32.     } else if (direction === 'down') {
  33.         head.y += 10;
  34.     }
  35.    
  36.     snake.unshift(head);
  37.    
  38.     // 检查是否吃到食物
  39.     if (head.x === food.x && head.y === food.y) {
  40.         // 生成新的食物
  41.         food.x = Math.floor(Math.random() * 40) * 10;
  42.         food.y = Math.floor(Math.random() * 40) * 10;
  43.     } else {
  44.         snake.pop();
  45.     }
  46.    
  47.     // 更新画面
  48.     drawSnake();
  49.     drawFood();
  50. }

  51. setInterval(update, 100);

  52. document.addEventListener('keydown', event => {
  53.     const key = event.key;
  54.     if (key === 'ArrowUp' && direction !== 'down') {
  55.         direction = 'up';
  56.     } else if (key === 'ArrowDown' && direction !== 'up') {
  57.         direction = 'down';
  58.     } else if (key === 'ArrowLeft' && direction !== 'right') {
  59.         direction = 'left';
  60.     } else if (key === 'ArrowRight' && direction !== 'left') {
  61.         direction = 'right';
  62.     }
  63. });
复制代码


这就是一个简单的贪吃蛇游戏代码!你可以复制这些代码并将它们分别保存到名为 `index.html`、`style.css` 和 `script.js` 的文件中,然后用浏览器打开 `index.html` 文件即可开始游戏。希望你玩得开心!如果有任何问题,都可以随时问我哦。




欢迎光临 科学教育 (http://www.sci-edu.net/) Powered by Discuz! X3.2