科学教育

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

张嫣然

[复制链接]

3

主题

12

帖子

43

积分

新手上路

Rank: 1

积分
43
跳转到指定楼层
楼主
发表于 2025-10-14 09:41:02 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
帮我写一个贪吃蛇代码
回复

使用道具 举报

3

主题

12

帖子

43

积分

新手上路

Rank: 1

积分
43
地板
 楼主| 发表于 2025-11-4 09:39:04 | 只看该作者
帮我把css提取出来
回复 支持 反对

使用道具 举报

6

主题

18

帖子

57

积分

注册会员

Rank: 2

积分
57
板凳
发表于 2025-10-14 14:21:58 | 只看该作者
你真棒
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-10-14 09:41:16 | 只看该作者
当然可以帮你写一个简单的贪吃蛇游戏代码!我们可以使用HTML、CSS和JavaScript来实现这个游戏。下面是一个简单的示例代码:

  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.   <style>
  8.     #game-board {
  9.       width: 400px;
  10.       height: 400px;
  11.       border: 1px solid black;
  12.     }
  13.     .snake {
  14.       width: 20px;
  15.       height: 20px;
  16.       background-color: green;
  17.       position: absolute;
  18.     }
  19.     .food {
  20.       width: 20px;
  21.       height: 20px;
  22.       background-color: red;
  23.       position: absolute;
  24.     }
  25.   </style>
  26. </head>
  27. <body>
  28.   <div id="game-board"></div>
  29.   <script>
  30.     const board = document.getElementById('game-board');
  31.     const snake = [{x: 200, y: 200}];
  32.     let food = {x: 0, y: 0};
  33.     let direction = 'right';

  34.     function createSnake() {
  35.       snake.forEach(segment => {
  36.         const snakeElement = document.createElement('div');
  37.         snakeElement.className = 'snake';
  38.         snakeElement.style.left = segment.x + 'px';
  39.         snakeElement.style.top = segment.y + 'px';
  40.         board.appendChild(snakeElement);
  41.       });
  42.     }

  43.     function createFood() {
  44.       food.x = Math.floor(Math.random() * 20) * 20;
  45.       food.y = Math.floor(Math.random() * 20) * 20;

  46.       const foodElement = document.createElement('div');
  47.       foodElement.className = 'food';
  48.       foodElement.style.left = food.x + 'px';
  49.       foodElement.style.top = food.y + 'px';
  50.       board.appendChild(foodElement);
  51.     }

  52.     function moveSnake() {
  53.       let headX = snake[0].x;
  54.       let headY = snake[0].y;

  55.       if (direction === 'right') {
  56.         headX += 20;
  57.       } else if (direction === 'left') {
  58.         headX -= 20;
  59.       } else if (direction === 'down') {
  60.         headY += 20;
  61.       } else if (direction === 'up') {
  62.         headY -= 20;
  63.       }

  64.       const newHead = {x: headX, y: headY};
  65.       snake.unshift(newHead);

  66.       if (headX === food.x && headY === food.y) {
  67.         createFood();
  68.       } else {
  69.         snake.pop();
  70.       }

  71.       updateSnake();
  72.     }

  73.     function updateSnake() {
  74.       const snakeElements = document.querySelectorAll('.snake');
  75.       snakeElements.forEach((element, index) => {
  76.         element.style.left = snake[index].x + 'px';
  77.         element.style.top = snake[index].y + 'px';
  78.       });
  79.     }

  80.     function changeDirection(event) {
  81.       const key = event.key;

  82.       if ((key === 'ArrowRight' || key === 'd') && direction !== 'left') {
  83.         direction = 'right';
  84.       } else if ((key === 'ArrowLeft' || key === 'a') && direction !== 'right') {
  85.         direction = 'left';
  86.       } else if ((key === 'ArrowDown' || key === 's') && direction !== 'up') {
  87.         direction = 'down';
  88.       } else if ((key === 'ArrowUp' || key === 'w') && direction !== 'down') {
  89.         direction = 'up';
  90.       }
  91.     }

  92.     createSnake();
  93.     createFood();
  94.     setInterval(moveSnake, 100);
  95.     document.addEventListener('keydown', changeDirection);
  96.   </script>
  97. </body>
  98. </html>
复制代码


你可以将这段代码复制粘贴到一个HTML文件中,然后在浏览器中打开,就可以开始玩这个简单的贪吃蛇游戏了!游戏板的大小为400x400像素,蛇每隔100毫秒移动一次。通过方向键或WASD控制蛇的移动方向,让蛇吃到红色的食物。祝玩得开心!
回复 支持 反对

使用道具 举报

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

本版积分规则

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