科学教育

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

何星辰

[复制链接]

6

主题

15

帖子

59

积分

注册会员

Rank: 2

积分
59
跳转到指定楼层
楼主
发表于 2025-9-30 15:16:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
                                           贪吃蛇代码

回复

使用道具 举报

0

主题

1145

帖子

1715

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1715
沙发
发表于 2025-9-30 15:16:19 | 只看该作者
贪吃蛇是一个经典的网页小游戏,在网页编程中可以使用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. <style>
  8.   #gameCanvas {
  9.     width: 400px;
  10.     height: 400px;
  11.     border: 1px solid black;
  12.   }
  13. </style>
  14. </head>
  15. <body>
  16. <canvas id="gameCanvas"></canvas>
  17. <script src="snake.js"></script>
  18. </body>
  19. </html>
复制代码


接下来,我们创建一个JavaScript文件(命名为snake.js),在其中实现贪吃蛇的游戏逻辑:

  1. const canvas = document.getElementById('gameCanvas');
  2. const ctx = canvas.getContext('2d');

  3. const box = 20;
  4. let snake = [{x: 10, y: 10}];
  5. let food = {x: 15, y: 15};
  6. let dx = 0;
  7. let dy = 0;

  8. function drawSnake() {
  9.   snake.forEach(segment => {
  10.     ctx.fillStyle = 'green';
  11.     ctx.fillRect(segment.x * box, segment.y * box, box, box);
  12.   });
  13. }

  14. function drawFood() {
  15.   ctx.fillStyle = 'red';
  16.   ctx.fillRect(food.x * box, food.y * box, box, box);
  17. }

  18. function moveSnake() {
  19.   const head = {x: snake[0].x + dx, y: snake[0].y + dy};
  20.   snake.unshift(head);
  21.   if (head.x === food.x && head.y === food.y) {
  22.     food = {x: Math.floor(Math.random() * 20), y: Math.floor(Math.random() * 20)};
  23.   } else {
  24.     snake.pop();
  25.   }
  26. }

  27. function updateGame() {
  28.   ctx.clearRect(0, 0, canvas.width, canvas.height);
  29.   drawSnake();
  30.   drawFood();
  31.   moveSnake();
  32. }

  33. setInterval(updateGame, 100);
复制代码


这个简单的代码实现了一个基础的贪吃蛇游戏,玩家可以控制蛇的移动方向,吃到食物后蛇会变长。你可以尝试在这个基础上添加更多功能,比如增加难度、设计更复杂的地图等。希望你能喜欢这个小游戏!
回复 支持 反对

使用道具 举报

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

本版积分规则

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