qcode
  • 创作工场专业版,一问多答!更智能、更完整、更原创
  • 这是一个超强内容创作平台,它会写文章、做设计、绘图、敲代码,有问必答!
🔥点击使用-免登录深度版🔥

编一串贪吃蛇游戏代码

时间2023-05-01 11:32:55 提问来自 山西省长治市 的网友 分类创作 浏览348
// 定义画布和上下文 var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); // 设置游戏参数 var box = 32; // 每格大小 var snake = []; // 贪吃蛇的身体元素,存储蛇头和每一节身体的坐标 snake[0] = {x: 9 * box, y: 10 * box}; // 初始化蛇头的坐标,在9行10列 // 初始化食物,食物是随机生成在画布上任意一个位置 var food = {x: Math.floor(Math.random()*17+1) * box, y: Math.floor(Math.random()*15+3) * box} // x在1-17之间,y在3-15之间 // 画出蛇头 ctx.fillStyle = "red"; // 蛇头颜色为红色 ctx.fillRect(snake[0].x, snake[0].y, box, box); // 画出方形图形(正方形就是宽高相同的方形) // 画出食物 ctx.fillStyle="green"; ctx.fillRect(food.x, food.y,box,box); document.addEventListener("keydown",direction); var d; // 控制运动方向 function direction (event){ switch (event .keyCode){ case 37 : d="LEFT"; break; case 38 : d="UP"; break; case 39 : d="RIGHT"; break; case 40 : d="DOWN" ;break ; default:break; } } let score=0; function draw(){ ctx .clearRect ( 0 , 0 , canvas .width , canvas .height ); for ( let i= 0 ; i<snake .length ; i++ ){ if (i== 0 ){ if (d=="LEFT") snake [i] .x -=box ; else if (d=="UP") snake [i] .y -=box ; else if (d=="RIGHT") snake [i] .x +=box ; else if (d=="DOWN") snake [i] .y +=box ; }else { snake [i]={ x :snake[ i - 1 ].[' x '], y :snake[ i - 1 ].[' y '], }; } ctx .fillStyle=' red '; ctx

不满意?免费深度重写!

免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。

上一篇 写一首关于屎的诗 下一篇 坐在火车上能写一首七言绝句吗