科学教育

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

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

[复制链接]

1

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
跳转到指定楼层
楼主
发表于 2025-11-4 09:05:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
帮我生成一个贪吃蛇的代码
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-11-4 09:05:42 | 只看该作者
当然可以!生成一个简单的贪吃蛇游戏代码,你可以在网页上运行。这里给你一个基础的代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <title>贪吃蛇小游戏</title>
  5.   <style>
  6.     #gameBoard {
  7.       width: 400px;
  8.       height: 400px;
  9.       border: 1px solid black;
  10.     }

  11.     .snake {
  12.       width: 10px;
  13.       height: 10px;
  14.       background-color: green;
  15.       position: absolute;
  16.     }

  17.     #food {
  18.       width: 10px;
  19.       height: 10px;
  20.       background-color: red;
  21.       position: absolute;
  22.     }
  23.   </style>
  24. </head>
  25. <body>
  26.   <h1>贪吃蛇小游戏</h1>
  27.   <div id="gameBoard"></div>
  28.   
  29.   <script>
  30.     const gameBoard = document.getElementById('gameBoard');
  31.     let snake = [{x: 200, y: 200}];
  32.     let food = {x: 0, y: 0};
  33.     let direction = 'right';

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

  44.     function randomFood() {
  45.       food.x = Math.floor(Math.random() * 40) * 10;
  46.       food.y = Math.floor(Math.random() * 40) * 10;

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

  53.     function moveSnake() {
  54.       const head = {x: snake[0].x, y: snake[0].y};

  55.       if (direction === 'right') {
  56.         head.x += 10;
  57.       } else if (direction === 'left') {
  58.         head.x -= 10;
  59.       } else if (direction === 'up') {
  60.         head.y -= 10;
  61.       } else if (direction === 'down') {
  62.         head.y += 10;
  63.       }

  64.       snake.unshift(head);

  65.       if (head.x === food.x && head.y === food.y) {
  66.         randomFood();
  67.       } else {
  68.         snake.pop();
  69.       }
  70.     }

  71.     function changeDirection(event) {
  72.       const key = event.key;
  73.       
  74.       if ((key === 'ArrowRight' || key === 'd') && direction !== 'left') {
  75.         direction = 'right';
  76.       } else if ((key === 'ArrowLeft' || key === 'a') && direction !== 'right') {
  77.         direction = 'left';
  78.       } else if ((key === 'ArrowUp' || key === 'w') && direction !== 'down') {
  79.         direction = 'up';
  80.       } else if ((key === 'ArrowDown' || key === 's') && direction !== 'up') {
  81.         direction = 'down';
  82.       }
  83.     }

  84.     randomFood();
  85.    
  86.     setInterval(() => {
  87.       moveSnake();
  88.       drawSnake();
  89.     }, 100);

  90.     document.addEventListener('keydown', changeDirection);
  91.   </script>
  92. </body>
  93. </html>
复制代码


你可以将以上代码复制粘贴到一个HTML文件中,并在浏览器中打开运行。这个简单的贪吃蛇游戏会在一个方块内自动移动,按键盘上的方向键或WASD键可以改变蛇的移动方向。吃到红色的食物会让蛇变长。希望你玩得开心!
回复 支持 反对

使用道具 举报

1

主题

2

帖子

11

积分

新手上路

Rank: 1

积分
11
板凳
 楼主| 发表于 2025-11-4 09:06:52 | 只看该作者

将字体设为红色
回复 支持 反对

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
地板
发表于 2025-11-4 09:06:56 | 只看该作者


要将字体设为红色,你可以在CSS样式表中添加以下代码:

  1. body {
  2.   color: red;
  3. }
复制代码


将这段代码添加到已有的CSS样式中,这样整个页面的字体颜色就会变成红色了。希望对你有帮助!
回复 支持 反对

使用道具 举报

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

本版积分规则

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