科学教育

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

陈若冰601

[复制链接]

1

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
跳转到指定楼层
楼主
发表于 2025-10-9 12:03:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
生成贪吃蛇网页代码
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-10-9 12:03:55 | 只看该作者
当然可以!贪吃蛇是一个很有趣的游戏,你可以使用 HTML、CSS 和 JavaScript 来创建一个简单的贪吃蛇游戏。下面是一个简单的示例代码:

首先是 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. <link rel="stylesheet" href="style.css">
  8. </head>
  9. <body>
  10. <div id="gameArea"></div>
  11. <script src="script.js"></script>
  12. </body>
  13. </html>
复制代码


接着是 CSS 部分(style.css):

  1. #gameArea {
  2.     width: 400px;
  3.     height: 400px;
  4.     border: 1px solid black;
  5. }
复制代码


最后是 JavaScript 部分(script.js):

  1. const gameArea = document.getElementById("gameArea");
  2. const blockSize = 20;
  3. let snake = [{x: 10, y: 10}];
  4. let food = {x: 15, y: 15};
  5. let dx = 1;
  6. let dy = 0;

  7. function draw() {
  8.     gameArea.innerHTML = '';
  9.    
  10.     snake.forEach(segment => {
  11.         const element = document.createElement('div');
  12.         element.style.width = blockSize + 'px';
  13.         element.style.height = blockSize + 'px';
  14.         element.style.position = 'absolute';
  15.         element.style.backgroundColor = 'green';
  16.         element.style.left = segment.x * blockSize + 'px';
  17.         element.style.top = segment.y * blockSize + 'px';
  18.         gameArea.appendChild(element);
  19.     });

  20.     const foodElement = document.createElement('div');
  21.     foodElement.style.width = blockSize + 'px';
  22.     foodElement.style.height = blockSize + 'px';
  23.     foodElement.style.position = 'absolute';
  24.     foodElement.style.backgroundColor = 'red';
  25.     foodElement.style.left = food.x * blockSize + 'px';
  26.     foodElement.style.top = food.y * blockSize + 'px';
  27.     gameArea.appendChild(foodElement);
  28. }

  29. function update() {
  30.     const head = {x: snake[0].x + dx, y: snake[0].y + dy};
  31.     snake.unshift(head);

  32.     if (head.x === food.x && head.y === food.y) {
  33.         food.x = Math.floor(Math.random() * (gameArea.offsetWidth / blockSize));
  34.         food.y = Math.floor(Math.random() * (gameArea.offsetHeight / blockSize));
  35.     } else {
  36.         snake.pop();
  37.     }
  38. }

  39. function loop() {
  40.     update();
  41.     draw();
  42.     setTimeout(() => {
  43.         requestAnimationFrame(loop);
  44.     }, 100);
  45. }

  46. document.addEventListener('keydown', e => {
  47.     switch(e.key) {
  48.         case 'ArrowUp':
  49.             dx = 0;
  50.             dy = -1;
  51.             break;
  52.         case 'ArrowDown':
  53.             dx = 0;
  54.             dy = 1;
  55.             break;
  56.         case 'ArrowLeft':
  57.             dx = -1;
  58.             dy = 0;
  59.             break;
  60.         case 'ArrowRight':
  61.             dx = 1;
  62.             dy = 0;
  63.             break;
  64.     }
  65. });

  66. loop();
复制代码


在这个简单的示例中,我们创建了一个贪吃蛇游戏,玩家可以控制贪吃蛇的移动方向,吃到食物后贪吃蛇会变长。希望对你有所帮助!如果有任何问题欢迎随时提出哦~
回复 支持 反对

使用道具 举报

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

本版积分规则

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