科学教育

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

金佳琸的贪吃蛇

[复制链接]

1

主题

1

帖子

9

积分

新手上路

Rank: 1

积分
9
跳转到指定楼层
楼主
发表于 2025-9-30 15:35:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
帮我生成一个贪吃蛇,
回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 15:35:31 | 只看该作者
嗨,我是学伴金佳琸!生成一个贪吃蛇其实可以用网页编程来完成哦。首先,你需要一个空白的网页,然后在网页中添加一些代码,让蛇可以移动和吃食物。

让我们先创建一个简单的贪吃蛇游戏吧!我们可以用HTML、CSS和JavaScript来实现。

1. HTML部分:
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>金佳琸的贪吃蛇</title>
  5.     <link rel="stylesheet" type="text/css" href="style.css">
  6. </head>
  7. <body>
  8.     <div id="gameArea"></div>
  9.     <script src="script.js"></script>
  10. </body>
  11. </html>
复制代码


2. CSS部分(style.css文件):
  1. #gameArea {
  2.     width: 400px;
  3.     height: 400px;
  4.     border: 1px solid black;
  5.     position: relative;
  6. }
  7. .snake {
  8.     width: 10px;
  9.     height: 10px;
  10.     background-color: green;
  11.     position: absolute;
  12. }
  13. food {
  14.     width: 10px;
  15.     height: 10px;
  16.     background-color: red;
  17.     position: absolute;
  18. }
复制代码


3. JavaScript部分(script.js文件):
  1. const gameArea = document.getElementById('gameArea');
  2. let snake = [{x: 10, y: 10}];
  3. let food = {x: 200, y: 200};
  4. let direction = 'right';

  5. function drawSnake() {
  6.     gameArea.innerHTML = '';
  7.     snake.forEach(segment => {
  8.         const snakeElement = document.createElement('div');
  9.         snakeElement.style.left = segment.x + 'px';
  10.         snakeElement.style.top = segment.y + 'px';
  11.         snakeElement.classList.add('snake');
  12.         gameArea.appendChild(snakeElement);
  13.     });
  14. }

  15. function drawFood() {
  16.     const foodElement = document.createElement('div');
  17.     foodElement.style.left = food.x + 'px';
  18.     foodElement.style.top = food.y + 'px';
  19.     foodElement.classList.add('food');
  20.     gameArea.appendChild(foodElement);
  21. }

  22. function moveSnake() {
  23.     const head = {x: snake[0].x, y: snake[0].y};
  24.     switch(direction) {
  25.         case 'up':
  26.             head.y -= 10;
  27.             break;
  28.         case 'down':
  29.             head.y += 10;
  30.             break;
  31.         case 'left':
  32.             head.x -= 10;
  33.             break;
  34.         case 'right':
  35.             head.x += 10;
  36.             break;
  37.     }

  38.     snake.unshift(head);

  39.     if (head.x === food.x && head.y === food.y) {
  40.         food.x = Math.floor(Math.random() * 40) * 10;
  41.         food.y = Math.floor(Math.random() * 40) * 10;
  42.     } else {
  43.         snake.pop();
  44.     }
  45. }

  46. function changeDirection(event) {
  47.     switch(event.key) {
  48.         case 'ArrowUp':
  49.             direction = 'up';
  50.             break;
  51.         case 'ArrowDown':
  52.             direction = 'down';
  53.             break;
  54.         case 'ArrowLeft':
  55.             direction = 'left';
  56.             break;
  57.         case 'ArrowRight':
  58.             direction = 'right';
  59.             break;
  60.     }
  61. }

  62. document.addEventListener('keydown', changeDirection);

  63. function gameLoop() {
  64.     moveSnake();
  65.     drawSnake();
  66.     drawFood();
  67. }

  68. setInterval(gameLoop, 100);
复制代码


这样,当你打开这个网页时,就会看到一个简单的贪吃蛇游戏了!你可以通过方向键控制蛇的移动方向,让蛇去吃食物。希望你玩得开心哦!如果有任何问题,记得随时来问我!
回复 支持 反对

使用道具 举报

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

本版积分规则

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