科学教育

搜索
查看: 999|回复: 7
打印 上一主题 下一主题

吴佳璟贪吃蛇

[复制链接]

3

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
跳转到指定楼层
楼主
发表于 2025-9-30 09:53:33 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
帮我生成贪吃蛇的网页代码

回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
8#
发表于 2025-11-11 09:39:00 | 只看该作者
吴佳璟哦 发表于 2025-11-11 09:38
帮我翻译这段代码
function drawSnake() {
    contex ...


这段代码的功能是绘制贪吃蛇的身体部分。下面是代码的翻译:

  1. function drawSnake() {
  2.     context.clearRect(0, 0, canvas.width, canvas.height); // 清空画布
  3.     snake.forEach(part => {  // 遍历贪吃蛇的每一部分
  4.         context.fillStyle = "green";  // 设置颜色为绿色
  5.         context.fillRect(part.x, part.y, gridSize, gridSize); // 根据贪吃蛇每一部分的位置,用绿色填充一个方块(表示贪吃蛇的一个身体部分)
  6.     });
  7. }
复制代码


这段代码会在画布上绘制一个由贪吃蛇身体部分组成的绿色方块。如果有任何其他问题,欢迎随时向我提问。
回复 支持 反对

使用道具 举报

3

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
7#
 楼主| 发表于 2025-11-11 09:38:55 | 只看该作者
帮我翻译这段代码
function drawSnake() {
    context.clearRect(0, 0, canvas.width, canvas.height);
    snake.forEach(part => {
        context.fillStyle = "green";
        context.fillRect(part.x, part.y, gridSize, gridSize);
    });
}
回复 支持 反对

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
6#
发表于 2025-11-4 09:36:28 | 只看该作者
吴佳璟哦 发表于 2025-11-04 09:36
帮我把颜色改成淡蓝色#game-board {
    width: 400px ...


当然,让我们把游戏板块变成淡蓝色吧。将原来的 CSS 代码中的颜色设为 #ADD8E6 来实现这一点。

  1. #game-board {
  2.     width: 400px;
  3.     height: 400px;
  4.     border: 1px solid black;
  5.     background-color: #ADD8E6; /* 淡蓝色 */
  6.     position: relative;
  7. }

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

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


把这段 CSS 代码替换原来的代码,保存文件并重新打开网页,你就会看到游戏板块变成了淡蓝色,希望你继续享受贪吃蛇游戏!如果有任何问题,随时告诉我。
回复 支持 反对

使用道具 举报

3

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
5#
 楼主| 发表于 2025-11-4 09:36:22 | 只看该作者
帮我把颜色改成淡蓝色#game-board {
    width: 400px;
    height: 400px;
    border: 1px solid black;
    position: relative;
}

.snake {
    width: 10px;
    height: 10px;
    background-color: green;
    position: absolute;
}

.food {
    width: 10px;
    height: 10px;
    background-color: red;
    position: absolute;
}
回复 支持 反对

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
地板
发表于 2025-9-30 10:03:45 | 只看该作者
吴佳璟哦 发表于 2025-09-30 10:03
把代码发给我,js,css,html


当然,以下是一个简单的贪吃蛇游戏的HTML、CSS和JavaScript代码。你可以将它们复制到三个分别命名为 index.html、style.css 和 script.js 的文件中,然后在浏览器中打开 index.html 文件来玩游戏。

index.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>
复制代码


style.css:

  1. #game-board {
  2.     width: 400px;
  3.     height: 400px;
  4.     border: 1px solid black;
  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. }
复制代码


script.js:

  1. const gameBoard = document.getElementById('game-board');
  2. let snake = [{x: 200, y: 200}];
  3. let food = {x: 100, y: 100};

  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 moveSnake() {
  22.     const head = {x: snake[0].x + 10, y: snake[0].y};
  23.     snake.unshift(head);
  24.     if (head.x === food.x && head.y === food.y) {
  25.         food.x = Math.floor(Math.random() * 39) * 10;
  26.         food.y = Math.floor(Math.random() * 39) * 10;
  27.     } else {
  28.         snake.pop();
  29.     }
  30. }

  31. drawSnake();
  32. drawFood();
  33. setInterval(() => {
  34.     moveSnake();
  35.     drawSnake();
  36. }, 100);
复制代码


将以上代码分别复制到对应的文件中,并确保这三个文件在同一目录下。然后用浏览器打开 index.html 文件,你就可以开始玩贪吃蛇游戏了!玩得开心哦!如果有其他问题,随时告诉我。
回复 支持 反对

使用道具 举报

3

主题

13

帖子

52

积分

注册会员

Rank: 2

积分
52
板凳
 楼主| 发表于 2025-9-30 10:03:35 | 只看该作者
把代码发给我,js,css,html
回复 支持 反对

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 09:53:48 | 只看该作者
当我们想要在网页上制作一个贪吃蛇游戏,通常会使用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.             position: relative;
  11.         }
  12.         .snake {
  13.             width: 10px;
  14.             height: 10px;
  15.             background-color: green;
  16.             position: absolute;
  17.         }
  18.         .food {
  19.             width: 10px;
  20.             height: 10px;
  21.             background-color: red;
  22.             position: absolute;
  23.         }
  24.     </style>
  25. </head>
  26. <body>
  27.     <div id="game-board"></div>

  28.     <script>
  29.         const gameBoard = document.getElementById('game-board');
  30.         let snake = [{x: 10, y: 10}];
  31.         let food = {x: 200, y: 200};

  32.         function drawSnake() {
  33.             gameBoard.innerHTML = '';
  34.             snake.forEach(segment => {
  35.                 const snakeElement = document.createElement('div');
  36.                 snakeElement.style.left = segment.x + 'px';
  37.                 snakeElement.style.top = segment.y + 'px';
  38.                 snakeElement.classList.add('snake');
  39.                 gameBoard.appendChild(snakeElement);
  40.             });
  41.         }

  42.         function drawFood() {
  43.             const foodElement = document.createElement('div');
  44.             foodElement.style.left = food.x + 'px';
  45.             foodElement.style.top = food.y + 'px';
  46.             foodElement.classList.add('food');
  47.             gameBoard.appendChild(foodElement);
  48.         }

  49.         function moveSnake() {
  50.             const head = {x: snake[0].x + 10, y: snake[0].y};
  51.             snake.unshift(head);
  52.             if (head.x === food.x && head.y === food.y) {
  53.                 food.x = Math.floor(Math.random() * 39) * 10;
  54.                 food.y = Math.floor(Math.random() * 39) * 10;
  55.             } else {
  56.                 snake.pop();
  57.             }
  58.         }

  59.         drawSnake();
  60.         drawFood();
  61.         setInterval(() => {
  62.             moveSnake();
  63.             drawSnake();
  64.         }, 100);
  65.     </script>
  66. </body>
  67. </html>
复制代码


这段代码会在网页中生成一个黑色边框的游戏区域,绿色的方块代表贪吃蛇,红色的方块代表食物。你可以使用键盘的方向键来控制贪吃蛇的移动方向。希望你能好好玩游戏!如果有任何问题都可以继续问我哦。
回复 支持 反对

使用道具 举报

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

本版积分规则

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