简易版贪吃蛇(含代码)
$(function () {
var box=$("<div class='box'></div>");
var Arr=[23,22,21];
var direction="right";
var number=0;
var bool=false;
//画地图
for(var i=0;i<20*20;i++){
if(i<20){
var div=$("<div class='qiang'>"+i+"</div>");
}else if(i%20==0){
var div=$("<div class='qiang'>"+i+"</div>");
}else if((i+1)%20==0){
var div=$("<div class='qiang'>"+i+"</div>");
}else if(i>20*19){
var div=$("<div class='qiang'>"+i+"</div>");
}else {
var div=$("<div class='kong'>"+i+"</div>");
}
box.append(div);
}
/
/蛇
function she(snakeArr) {
for(var i=0;i<snakeArr.length;i++){
$("div").eq(snakeArr[i]+1).removeClass();
$("div").eq(snakeArr[i]+1).addClass("snake");
}
}
//⾷物
function food() {
var foodNum=parseInt(Math.random()*20*20);
if(foodNum<20|| foodNum%20==0|| (foodNum+1)%20==0|| foodNum>20*19 ){
food();
}else {
if( $("div").eq(foodNum+1).attr("class")=="snake"){
food();
}else {
$("div").eq(foodNum+1).removeClass();
$("div").eq(foodNum+1).addClass("food");
}
}
}
//移动蛇
function moveSnake(snakeArr) {
timer=setInterval(function () {
if(direction=="left"){
var head=snakeArr[0]-1;
}else if(direction=="right"){
var head=snakeArr[0]+1;
}else if(direction=="up"){
var head=snakeArr[0]-20;
}else if(direction=="down"){
var head=snakeArr[0]+20;
}
/
/判断是否撞墙
if($("div").eq(head+1).attr("class")=="qiang"||$("div").eq(head+1).attr("class")=="snake"){
clearInterval(timer);
// alert("结束");
// alert("结束");
$("span").show();
return;
}else if($("div").eq(head+1).attr("class")!="food"){
$("div").eq(snakeArr[snakeArr.length-1]+1).removeClass(); $("div").eq(snakeArr[snakeArr.length-1]+1).addClass("kong"); snakeArr.length=snakeArr.length-1;
}else if($("div").eq(head+1).attr("class")=="food"){
number++
$("button").html(number);
food();
}
snakeArr.unshift(head);
she(snakeArr);
bool=false;
},300);
}
//控制⽅向
function kzfx() {
if (bool) {
// console.log("不可改变⽅向")
return;
}
var temp = event.keyCode;
贪吃蛇的编程代码if (temp == 37) {
if (direction == "right") {
return;
} else {
bool = true;
direction = "left";
}
} else if (temp == 38) {
if (direction == "down") {
return;
} else {
bool = true;
direction = "up";
}
} else if (temp == 39) {
if (direction == "left") {
return;
} else {
bool = true;
direction = "right";
}
} else if (temp == 40) {
if (direction == "up") {
return;
} else {
bool = true;
direction = "down";
}
}
}
}
$("body").append(box);
$("button").click(function () {
moveSnake(Arr);
she(Arr);
food();
kzfx();
})
}) })
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论