编一串贪吃蛇游戏代码
// 定义画布和上下文
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
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。