科学教育

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

QIANHAOWEN

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
跳转到指定楼层
楼主
发表于 2025-10-9 12:01:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
帮我做1个贪吃蛇的网页代码
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-10-9 12:01:47 | 只看该作者
当我们创建一个贪吃蛇游戏的网页时,首先需要了解一些基本的网页编程知识。你可以使用 HTML 来定义页面的结构,使用 CSS 来设置页面的样式,使用 JavaScript 来控制游戏的逻辑。

首先,我们来创建一个简单的贪吃蛇游戏的网页代码示例:

1. 创建一个 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.     <style>
  8.         /* 设置游戏区域样式 */
  9.         #gameBoard {
  10.             width: 400px;
  11.             height: 400px;
  12.             border: 1px solid black;
  13.             position: relative;
  14.         }

  15.         /* 设置蛇身和食物样式 */
  16.         .snake {
  17.             width: 10px;
  18.             height: 10px;
  19.             background-color: green;
  20.             position: absolute;
  21.         }

  22.         .food {
  23.             width: 10px;
  24.             height: 10px;
  25.             background-color: red;
  26.             position: absolute;
  27.         }
  28.     </style>
  29. </head>
  30. <body>
  31.     <div id="gameBoard"></div>
  32.     <script src="snake.js"></script>
  33. </body>
  34. </html>
复制代码


2. 创建一个 JavaScript 文件,命名为 snake.js,代码如下:
  1. const gameBoard = document.getElementById('gameBoard');
  2. let snake = [{ x: 10, y: 10 }];
  3. let food = { x: 200, y: 200 };
  4. let dx = 0;
  5. let dy = 0;

  6. function drawSnake() {
  7.     gameBoard.innerHTML = '';
  8.     snake.forEach(segment => {
  9.         const snakeElement = document.createElement('div');
  10.         snakeElement.style.gridRowStart = segment.y;
  11.         snakeElement.style.gridColumnStart = segment.x;
  12.         snakeElement.classList.add('snake');
  13.         gameBoard.appendChild(snakeElement);
  14.     });
  15. }

  16. function drawFood() {
  17.     const foodElement = document.createElement('div');
  18.     foodElement.style.gridRowStart = food.y;
  19.     foodElement.style.gridColumnStart = food.x;
  20.     foodElement.classList.add('food');
  21.     gameBoard.appendChild(foodElement);
  22. }

  23. function updateSnake() {
  24.     const head = { x: snake[0].x + dx, y: snake[0].y + dy };
  25.     snake.unshift(head);
  26.     if (head.x === food.x && head.y === food.y) {
  27.         // 吃到食物,增加蛇身长度
  28.         food.x = Math.floor(Math.random() * 40) * 10;
  29.         food.y = Math.floor(Math.random() * 40) * 10;
  30.     } else {
  31.         snake.pop();
  32.     }
  33. }

  34. document.addEventListener('keydown', e => {
  35.     switch(e.key) {
  36.         case 'ArrowUp':
  37.             dx = 0; dy = -10; break;
  38.         case 'ArrowDown':
  39.             dx = 0; dy = 10; break;
  40.         case 'ArrowLeft':
  41.             dx = -10; dy = 0; break;
  42.         case 'ArrowRight':
  43.             dx = 10; dy = 0; break;
  44.     }
  45. });

  46. function main() {
  47.     updateSnake();
  48.     drawSnake();
  49.     drawFood();
  50. }

  51. setInterval(main, 100);
复制代码


通过以上代码,我们就实现了一个简单的贪吃蛇游戏,玩家可以通过上下左右方向键控制蛇的移动,吃到食物后蛇的长度会增加。希望这个简单的示例能帮助你开始做一个属于自己的贪吃蛇游戏!如果有任何问题,欢迎继续提问哦。
回复 支持 反对

使用道具 举报

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

本版积分规则

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