科学教育

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

贪吃蛇游戏

[复制链接]

1

主题

2

帖子

53

积分

注册会员

Rank: 2

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

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

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

  32.     <script>
  33.         const board = document.getElementById('game-board');
  34.         let snake = [{ x: 200, y: 200 }];
  35.         let food = { x: 0, y: 0 };
  36.         let direction = 'right';

  37.         function createSnake() {
  38.             snake.forEach(segment => {
  39.                 const snakeElement = document.createElement('div');
  40.                 snakeElement.style.left = segment.x + 'px';
  41.                 snakeElement.style.top = segment.y + 'px';
  42.                 snakeElement.classList.add('snake');
  43.                 board.appendChild(snakeElement);
  44.             });
  45.         }

  46.         function updateSnake() {
  47.             const head = { x: snake[0].x, y: snake[0].y };
  48.             switch (direction) {
  49.                 case 'up':
  50.                     head.y -= 20;
  51.                     break;
  52.                 case 'down':
  53.                     head.y += 20;
  54.                     break;
  55.                 case 'left':
  56.                     head.x -= 20;
  57.                     break;
  58.                 case 'right':
  59.                     head.x += 20;
  60.                     break;
  61.             }
  62.         
  63.             snake.unshift(head);
  64.             if (head.x === food.x && head.y === food.y) {
  65.                 generateFood();
  66.             } else {
  67.                 snake.pop();
  68.             }
  69.         }

  70.         function generateFood() {
  71.             food.x = Math.floor(Math.random() * 20) * 20;
  72.             food.y = Math.floor(Math.random() * 20) * 20;

  73.             const foodElement = document.createElement('div');
  74.             foodElement.style.left = food.x + 'px';
  75.             foodElement.style.top = food.y + 'px';
  76.             foodElement.classList.add('food');
  77.             board.appendChild(foodElement);
  78.         }

  79.         function gameLoop() {
  80.             updateSnake();
  81.             render();
  82.         }

  83.         function render() {
  84.             const boardChildren = Array.from(board.children);
  85.             boardChildren.forEach(child => child.remove());

  86.             createSnake();
  87.         }

  88.         generateFood();
  89.         createSnake();
  90.         setInterval(gameLoop, 100);
  91.     </script>
  92. </body>
  93. </html>
复制代码


这段代码创建了一个简单的贪吃蛇游戏界面,玩家可以控制蛇的移动方向,吃到食物会变长。游戏会定时更新蛇的位置并重新渲染在页面上。你可以把这段代码复制粘贴到一个新建的 HTML 文件中,用浏览器打开就可以看到这个简单的贪吃蛇游戏了。如果想要添加更多功能和特效,可以继续扩展这个基础版本。希望你能享受编程的乐趣!
回复 支持 反对

使用道具 举报

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

本版积分规则

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