科学教育

搜索
查看: 748|回复: 3
打印 上一主题 下一主题

朱雨轩贪吃蛇

[复制链接]

2

主题

10

帖子

36

积分

新手上路

Rank: 1

积分
36
跳转到指定楼层
楼主
发表于 2025-9-30 09:55:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
帮我生成一个贪吃蛇小游戏
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 09:55:25 | 只看该作者
当我们要创建一个贪吃蛇的小游戏时,需要使用网页编程语言,比如HTML、CSS和JavaScript。我来教你一个简单的方法:

首先,我们创建一个HTML文件,并添加必要的HTML结构:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>贪吃蛇游戏</title>
  8.     <style>
  9.         #game-board {
  10.             width: 400px;
  11.             height: 400px;
  12.             border: 1px solid black;
  13.             position: relative;
  14.         }

  15.         .snake {
  16.             width: 20px;
  17.             height: 20px;
  18.             background-color: green;
  19.             position: absolute;
  20.         }

  21.         .food {
  22.             width: 20px;
  23.             height: 20px;
  24.             background-color: red;
  25.             position: absolute;
  26.         }
  27.     </style>
  28. </head>
  29. <body>
  30.     <div id="game-board"></div>
  31.     <script src="snake.js"></script>
  32. </body>
  33. </html>
复制代码


接着,我们创建一个JavaScript文件,命名为`snake.js`,在里面编写贪吃蛇的逻辑代码:
  1. const board = document.getElementById("game-board");
  2. const snake = [{ x: 200, y: 200 }];
  3. let direction = "right";
  4. let food = { x: 0, y: 0 };

  5. function generateFood() {
  6.     food.x = Math.floor(Math.random() * 20) * 20;
  7.     food.y = Math.floor(Math.random() * 20) * 20;

  8.     const foodElement = document.createElement("div");
  9.     foodElement.className = "food";
  10.     foodElement.style.left = food.x + "px";
  11.     foodElement.style.top = food.y + "px";
  12.     board.appendChild(foodElement);
  13. }

  14. function updateSnake() {
  15.     const snakeHead = snake[0];
  16.     let newHead = { x: snakeHead.x, y: snakeHead.y };

  17.     if (direction === "up") {
  18.         newHead.y -= 20;
  19.     } else if (direction === "down") {
  20.         newHead.y += 20;
  21.     } else if (direction === "left") {
  22.         newHead.x -= 20;
  23.     } else if (direction === "right") {
  24.         newHead.x += 20;
  25.     }

  26.     snake.unshift(newHead);

  27.     const snakeElements = document.querySelectorAll(".snake");
  28.     for (let i = 0; i < snakeElements.length; i++) {
  29.         snakeElements[i].remove();
  30.     }

  31.     for (let i = 0; i < snake.length; i++) {
  32.         const segment = document.createElement("div");
  33.         segment.className = "snake";
  34.         segment.style.left = snake[i].x + "px";
  35.         segment.style.top = snake[i].y + "px";
  36.         board.appendChild(segment);
  37.     }
  38. }

  39. generateFood();
  40. updateSnake();

  41. setInterval(() => {
  42.     updateSnake();
  43. }, 1000);
复制代码


这样,我们就创建了一个简单的贪吃蛇小游戏。你可以尝试运行这段代码,看看效果如何。希望对你有帮助!如果有什么问题,随时问我哦~
回复 支持 反对

使用道具 举报

2

主题

10

帖子

36

积分

新手上路

Rank: 1

积分
36
板凳
 楼主| 发表于 2025-9-30 10:04:18 | 只看该作者
要再加上CSS
回复 支持 反对

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
地板
发表于 2025-9-30 10:04:25 | 只看该作者


当然,下面是一个简单的CSS样式,用于美化贪吃蛇小游戏的界面:

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

  9. #game-board {
  10.     width: 400px;
  11.     height: 400px;
  12.     border: 1px solid #333;
  13.     position: relative;
  14. }

  15. .snake {
  16.     width: 20px;
  17.     height: 20px;
  18.     background-color: #2ecc71;
  19.     position: absolute;
  20. }

  21. .food {
  22.     width: 20px;
  23.     height: 20px;
  24.     background-color: #e74c3c;
  25.     position: absolute;
  26. }
复制代码


把这段CSS样式代码加入到你的HTML文件内的`<style>`标签中,之后你的贪吃蛇小游戏会看起来更美观一些。希望可以帮到你!如果有其他问题,欢迎继续提问哦~
回复 支持 反对

使用道具 举报

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

本版积分规则

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