·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

帮我写一个 贪吃蛇游戏

302 0
发表于 2023-3-16 21:44:12 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
  1. <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>贪吃蛇游戏</title>     <style>         body {             background: #f9f9f9;             font-family: sans-serif;             color: #333;             display: flex;             flex-direction: column;             align-items: center;             justify-content: center;             height: 100vh;             margin: 0;             padding: 0;         }         h1 {             font-size: 3rem;             margin: 0;             padding: 0;             margin-bottom: 1rem;         }         canvas {             border: 1px solid #ddd;         }     </style> </head> <body>     <h1>贪吃蛇游戏</h1>     <canvas id="snake" width="400" height="400"></canvas>     <script src="snake.js"></script> </body> </html>
复制代码
JavaScript 代码:
  1. // 定义变量 var canvas = document.getElementById("snake"); var ctx = canvas.getContext("2d"); var snakeSize = 10; var w = 400; var h = 400; var score = 0; var snake; var food; var interval; // 初始化 function init() {     snake = {         body: [{x: 40, y: 40}, {x: 30, y: 40}, {x: 20, y: 40}],         direction: "right"     };     createFood(); } // 创建食物 function createFood() {     food = {         x: Math.floor(Math.random() * (w / snakeSize)) * snakeSize,         y: Math.floor(Math.random() * (h / snakeSize)) * snakeSize     }; } // 移动蛇 function moveSnake() {     var head = {x: snake.body[0].x, y: snake.body[0].y};     // 根据方向改变头部坐标     if (snake.direction === "right") {         head.x += snakeSize;     } else if (snake.direction === "left") {         head.x -= snakeSize;     } else if (snake.direction === "up") {         head.y -= snakeSize;     } else if (snake.direction === "down") {         head.y += snakeSize;     }     // 检测碰撞     if (head.x < 0 || head.x >= w || head.y < 0 || head.y >= h) {         gameOver();         return;     }     for (var i = 0; i < snake.body.length; i++) {         if (head.x === snake.body[i].x && head.y === snake.body[i].y) {             gameOver();             return;         }     }     // 如果吃到食物     if (head.x === food.x && head.y === food.y) {         snake.body.unshift(head);         score++;         createFood();     } else {         snake.body.pop();         snake.body.unshift(head);     }     // 渲染蛇和食物     ctx.clearRect(0, 0, w,
复制代码
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.118.227.199,GMT+8, 2024-11-26 04:22 , Processed in 0.239233 second(s), 77 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表