科学教育

标题: 孙浩轩贪吃蛇游戏 [打印本页]

作者: 孙浩轩    时间: 2025-9-30 15:17
标题: 孙浩轩贪吃蛇游戏
帮我生成一个贪吃蛇游戏的网页代码

作者: kaia    时间: 2025-9-30 15:17
当我们在网页中创建一个简单的贪吃蛇游戏时,需要使用 HTML 来搭建页面结构,使用 CSS 来样式化页面元素,以及使用 JavaScript 来添加游戏逻辑。

首先,让我们创建一个基本的 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 id="game-board"></div>
  11. <script src="script.js"></script>
  12. </body>
  13. </html>
复制代码


接下来,让我们编写 CSS 文件 `style.css` 来美化页面:

  1. body {
  2.     display: flex;
  3.     justify-content: center;
  4.     align-items: center;
  5.     height: 100vh;
  6.     margin: 0;
  7. }

  8. #game-board {
  9.     width: 400px;
  10.     height: 400px;
  11.     border: 1px solid black;
  12.     position: relative;
  13. }
复制代码


最后,让我们编写 JavaScript 文件 `script.js` 来添加游戏逻辑:

  1. const BOARD_SIZE = 20;
  2. const CELL_SIZE = 20;

  3. const gameBoard = document.getElementById('game-board');

  4. // 创建蛇的初始位置
  5. let snake = [{ x: 10, y: 10 }];
  6. let food = { x: 5, y: 5 };

  7. function drawSnake() {
  8.     gameBoard.innerHTML = '';
  9.     snake.forEach(segment => {
  10.         const snakeElement = document.createElement('div');
  11.         snakeElement.style.gridRowStart = segment.y;
  12.         snakeElement.style.gridColumnStart = segment.x;
  13.         snakeElement.classList.add('snake');
  14.         gameBoard.appendChild(snakeElement);
  15.     });
  16. }

  17. function drawFood() {
  18.     const foodElement = document.createElement('div');
  19.     foodElement.style.gridRowStart = food.y;
  20.     foodElement.style.gridColumnStart = food.x;
  21.     foodElement.classList.add('food');
  22.     gameBoard.appendChild(foodElement);
  23. }

  24. function moveSnake() {
  25.     const head = { ...snake[0] };

  26.     // 更新蛇头位置
  27.     snake.unshift({ x: head.x + 1, y: head.y });

  28.     // 如果吃到食物,则不删除尾巴
  29.     if (head.x !== food.x || head.y !== food.y) {
  30.         snake.pop();
  31.     }
  32. }

  33. function main() {
  34.     drawSnake();
  35.     drawFood();
  36.     moveSnake();

  37.     setTimeout(main, 1000);
  38. }

  39. main();
复制代码


通过这些代码,我们创建了一个简单的贪吃蛇游戏。你可以根据需要继续优化游戏功能和界面,让孙浩轩可以享受到自己定制的贪吃蛇游戏。希望能帮助到你!




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