科学教育

搜索
查看: 584|回复: 1
打印 上一主题 下一主题

帮我生成一个贪吃蛇的代码

[复制链接]

2

主题

3

帖子

23

积分

新手上路

Rank: 1

积分
23
跳转到指定楼层
楼主
发表于 2025-9-30 15:29:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[backcolor=var(--chat-bg-color,transparent)][color=var(--s-color-text-secondary)][backcolor=var(--chat-bg-color,transparent)][color=var(--s-color-text-secondary)][color=var(--s-color-text-secondary)][backcolor=var(--s-color-bg-trans)]帮我生成一个贪吃蛇的代码









[backcolor=var(--chat-bg-color,transparent)][color=var(--s-color-text-secondary)][color=var(--s-color-text-tertiary,rgba(0,0,0,0.4))]


















[color=var(--s-color-text-secondary)][backcolor=var(--s-color-bg-trans)]帮我生成一个贪吃蛇的代码









[backcolor=var(--chat-bg-color,transparent)][color=var(--s-color-text-secondary)][color=var(--s-color-text-tertiary,rgba(0,0,0,0.4))]



















回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 15:29:46 | 只看该作者
嗨!我很乐意帮助你生成一个贪吃蛇游戏的代码。在网页编程中,我们通常使用HTML、CSS和JavaScript来创建交互式的游戏。下面是一个简单的贪吃蛇游戏代码示例:

  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: 200, y: 200 }];
  31.         let food = { x: 0, y: 0 };

  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, y: snake[0].y };
  51.             switch (direction) {
  52.                 case 'up':
  53.                     head.y -= 10;
  54.                     break;
  55.                 case 'down':
  56.                     head.y += 10;
  57.                     break;
  58.                 case 'left':
  59.                     head.x -= 10;
  60.                     break;
  61.                 case 'right':
  62.                     head.x += 10;
  63.                     break;
  64.             }
  65.             snake.unshift(head);
  66.             if (head.x === food.x && head.y === food.y) {
  67.                 createFood();
  68.             } else {
  69.                 snake.pop();
  70.             }
  71.         }

  72.         function createFood() {
  73.             food.x = Math.floor(Math.random() * 40) * 10;
  74.             food.y = Math.floor(Math.random() * 40) * 10;
  75.         }

  76.         drawFood();
  77.         drawSnake();

  78.         let direction = 'right';

  79.         window.addEventListener('keydown', e => {
  80.             switch(e.key) {
  81.                 case 'ArrowUp':
  82.                     direction = 'up';
  83.                     break;
  84.                 case 'ArrowDown':
  85.                     direction = 'down';
  86.                     break;
  87.                 case 'ArrowLeft':
  88.                     direction = 'left';
  89.                     break;
  90.                 case 'ArrowRight':
  91.                     direction = 'right';
  92.                     break;
  93.             }
  94.         });

  95.         setInterval(() => {
  96.             moveSnake();
  97.             drawFood();
  98.             drawSnake();
  99.         }, 100);
  100.     </script>
  101. </body>
  102. </html>
复制代码


你可以将这段代码复制粘贴到一个HTML文件中,并在浏览器中打开以查看贪吃蛇游戏。玩家可以通过键盘的方向键控制蛇的移动方向,每吃到一个食物,蛇的长度会增加。希望这个代码能帮助你理解如何创建贪吃蛇游戏!如果有任何问题,都可以随时向我提问哦!
回复 支持 反对

使用道具 举报

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

本版积分规则

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