效果图:
button{outline: none;border: none;
}
.snake-wrap{width: 600px;height: 720px;margin: 50px auto;background: limegreen;
}
.info-bd{height: 60px;
}
.info-bd .info-item{float: left;width: 50%;height: 100%;text-align: center;;font-size: 20px;line-height: 60px;color: #fff;
}
.game-bd{height: 600px;background: #000;
}
.btn-group{height: 60px;
}
.btn-group .btn{width: 33.3%;float: left;height: 100%;
}
.btn-group .btn button{background: transparent;width: 100%;height: 100%;color: #fff;font-size: 20px;cursor: pointer;
}
.btn-group .btn button:hover{background: lime;
}
.btn-group .btn button:disabled{background: lightgreen;
}
window.onload = function(){var can = document.getElementById('gameCan'),oStart = document.getElementsByClassName('j-start')[0],oPause = document.getElementsByClassName('j-pause')[0],oReset = document.getElementsByClassName('j-reset')[0],oSecond = document.getElementsByClassName('second')[0],oScore = document.getElementsByClassName('score')[0],ctx = can.getContext('2d'),//画布widthcWidth = ctx.canvas.width,//画布HeightcHeight = ctx.canvas.height,//半径r = 10,//游戏用时second = 0;//定时器t = null,//得分score = 0;//用时时间定时器st = null,//每次移动增加的坐标size = r * 2,//初始蛇的长度bodyNum = 3;//实例化var s = new Snake();//键盘事件document.onkeydown = function(){var e = e || window.event;var code = e.keyCode;if(code === 38){s.dir = s.dir !== "DOWN" ? "UP" : "DOWN";}else if(code === 40){s.dir = s.dir !== "UP" ? "DOWN" : "UP";}else if(code === 37){s.dir = s.dir !== "RIGHT" ? "LEFT" : "RIGHT";}else if(code === 39){s.dir = s.dir !== "LEFT" ? "RIGHT" : "LEFT";}}oPause.onclick = function(){pause.call(this);}oReset.onclick = function(){reset.call(this);}oStart.onclick = function(){start.call(this);}//构造函数function Body(x,y,c){this.x = x;//横坐标this.y = y;//纵坐标this.c = c;//color}Body.prototype.draw = function(){//绘制圆形填充色ctx.fillStyle = this.c;//开始绘制ctx.beginPath();//绘制圆形ctx.arc(this.x + r,this.y + r,r,0,2 * Math.PI,false);//填充ctx.fill();}//绘制蛇function Snake(){this.snakeArr = [];this.bodySize = this.snakeArr.length || bodyNum;//初始方向this.dir = 'DOWN',cWidth = cWidth,cHeight = cHeight;for(var i = 0;i snakeArr[1].y){y = snakeArr[0].y + size;}else if(snakeArr[0].y snakeArr[1].x){x = snakeArr[0].x + size;}else if(snakeArr[0].x }
想要获得更多资料的 请微信搜索公众号 【热血科技】,关注一下即可。