Javascript 用于计算不起作用的函数,以及可以';不要超过2分钟?

Javascript 用于计算不起作用的函数,以及可以';不要超过2分钟?,javascript,jquery,Javascript,Jquery,我正在制作一条克隆蛇,我已经把第二部分的头准备好了。其余的实体检查应自动执行,但它会在第二个部分切断实体,而不执行其余部分,尽管它应该执行。我的代码如下: var pixels = document.getElementsByClassName('pixel'); // 0 to 95 var dir = 'right'; var foodEat = true; var dead = true; var snakeLong = 1; var headPos; var foodPix; var f

我正在制作一条克隆蛇,我已经把第二部分的头准备好了。其余的实体检查应自动执行,但它会在第二个部分切断实体,而不执行其余部分,尽管它应该执行。我的代码如下:

var pixels = document.getElementsByClassName('pixel'); // 0 to 95
var dir = 'right';
var foodEat = true;
var dead = true;
var snakeLong = 1;
var headPos;
var foodPix;
var foodMake = function(){ // Create Food pixel (Not On Snake)
    var tempnum = Math.ceil(Math.random() * (95 - 5) + 5);
    var pixstate = window.getComputedStyle(pixels[tempnum]).getPropertyValue('--state');
    if (pixstate == 'snake' || pixstate == 'snakeHead' || pixstate == 'snakeEnd'){
        console.log('Repeating');
        foodMake();
    } else {
        console.log('Food Made!');
        $(pixels[tempnum]).css('--state','food');
    }
}
var directSend = function(reference,direction){
    if (direction == 'left'){
            reference -=1;
            return reference;
        } else if (direction == 'up'){
            reference -=12;
            return reference;
        } else if (direction == 'right'){
            reference +=1;
            return reference;
        } else if (direction == 'down'){
            reference +=12;
            return reference;
        }
}
var snakeMake = function(refer,tsnakel){ // Continue To Form Snake
    if (tsnakel > 0){
        var tempdir = $(pixels[refer]).css('--goFrom');
        console.log(directSend(refer,tempdir));
        if (tsnakel = 1){
            $(pixels[directSend(refer,tempdir)]).css('--state','empty');
        } else {
            refer = directSend(refer,tempdir);
        }
        tsnakel -= 1;
        snakeMake(refer,tsnakel);
    }
}
var snakeHEF = function(){ // Form First Sections of Snake
    var Pheadpos;
    var tdir;
    if (dir == 'left'){ // Previous Segment Position
        Pheadpos = 1;
        tdir = 'right';
    } else if (dir == 'up'){
        Pheadpos = 12;
        tdir = 'down';
    } else if (dir == 'right'){
        Pheadpos = -1;
        tdir = 'left';
    } else if (dir == 'down'){
        Pheadpos = -12;
        tdir = 'up';
    }
    $(pixels[headPos]).css('--state','snakeHead');
    $(pixels[headPos]).css('--snakePos','1');
    $(pixels[headPos]).css('--goFrom',tdir);
    if (snakeLong == 1){ // No Food Eaten
        $(pixels[headPos+Pheadpos]).css('--state','empty');
    }
    if (snakeLong >= 2){ // One Food Eaten
    var send;
        $(pixels[headPos+Pheadpos]).css('--state','snake');
        $(pixels[headPos+Pheadpos]).css('--snakePos','2');
        var temppos = $(pixels[headPos+Pheadpos]).css('--goFrom');
        if (temppos == 'left'){
            $(pixels[headPos+Pheadpos-1]).css('--state','empty');
            send = headPos+Pheadpos-1;
        } else if (temppos == 'up'){
            $(pixels[headPos+Pheadpos-12]).css('--state','empty');
            send = headPos+Pheadpos-12;
        } else if (temppos == 'right'){
            $(pixels[headPos+Pheadpos+1]).css('--state','empty');
            send = headPos+Pheadpos+1;
        } else if (temppos == 'down'){
            $(pixels[headPos+Pheadpos+12]).css('--state','empty');
            send = headPos+Pheadpos+12;
        }
        if (snakeLong > 2){ // More Than 1 Food Eaten
            snakeMake(send,snakeLong-2);
        }
    }
}
var Game = setInterval(function(){
    $(document).keydown(function(keyPressed){
        if (keyPressed.keyCode == 88){ // Reset Game [x]
            for (s = 0; s < 96; s++){
                var pixstate = $(pixels[s]).css('--state');
                if (pixstate == 'food'){
                    $(pixels[s]).css('--state','empty');
                }
                if (pixstate == 'snake' || pixstate == 'snakeHead' || pixstate == 'snakeEnd'){
                    $(pixels[s]).css('--state','empty');
                    $(pixels[s]).css('--snakePos','not');
                    $(pixels[s]).css('--goFrom','none');
                }
            }
            foodEat = true;
            $(pixels[0]).css('--state','snakeHead');
            $(pixels[0]).css('--snakePos','1');
            $(pixels[0]).css('--goFrom','left');
            dead = false;
            snakeLong = 1;
            headPos = 0;
            dir = 'right';
        } // Movement Set
        if (keyPressed.keyCode == 37 && dir !== 'right'){ // [<-]
            dir = 'left';
        } else if (keyPressed.keyCode == 38 && dir !== 'down'){ // [^^]
            dir = 'up';
        } else if (keyPressed.keyCode == 39 && dir !== 'left'){ // [->]
            dir = 'right';
        } else if (keyPressed.keyCode == 40 && dir !== 'up'){ // [vv]
            dir = 'down';
        }
    });
    if (dead == false){ //Dead Check Then Do Game Calculations
        if (dir == 'left'){ // Move Head
            for (s = 0; s < 8; s++){
                if (headPos == 0+(12*s)){
                    dead = true;
                }
            }
            if (dead == false){
                headPos -= 1;
                if (foodPix == headPos){
                    snakeLong += 1;
                    foodEat = true;
                }
                snakeHEF();
            }
        } else if (dir == 'up'){
            if (headPos < 12){
                dead = true;
            }
            if (dead == false){
                headPos -= 12;
                if (foodPix == headPos){
                    snakeLong += 1;
                    foodEat = true;
                }
                snakeHEF();
            }
        } else if (dir == 'right'){
            for (s = 0; s < 8; s++){
                if (headPos == 11+(12*s)){
                    dead = true;
                }
            }
            if (dead == false){
                headPos += 1;
                if (foodPix == headPos){
                    snakeLong += 1;
                    foodEat = true;
                }
                snakeHEF();
            }
        } else if (dir == 'down'){
            if (headPos > 83){
                dead = true;
            }
            if (dead == false){
                headPos += 12;
                if (foodPix == headPos){
                    snakeLong += 1;
                    foodEat = true;
                }
                snakeHEF();
            }
        }
        if (foodEat == true){ // Food generator
            foodMake();
            foodEat = false;
        }
        for (s = 0; s < 96; s++){
            var tpixstate = $(pixels[s]).css('--state');
            if (tpixstate == 'food'){
                foodPix = s;
            }
        }
    }
    for (s = 0; s < 96; s++){ // Pixel Update
        var pixstate = $(pixels[s]).css('--state');
        if (pixstate == 'snake' || pixstate == 'snakeHead' || pixstate == 'snakeEnd'){
            $(pixels[s]).css('background-color','rgb(0,170,0)');
        } else if (pixstate == 'food'){
            $(pixels[s]).css('background-color','rgb(270,0,0)');
        } else if (pixstate == 'empty'){
            $(pixels[s]).css('background-color','rgb(68,68,68)');
        }
    }
},750);
var pixels=document.getElementsByClassName('pixel');//0至95
var dir='右';
var foodEat=真;
var dead=真;
var snakeLong=1;
var-headPos;
var foodPix;
var foodMake=function(){//创建食物像素(不在Snake上)
var tempnum=Math.ceil(Math.random()*(95-5)+5);
var pixstate=window.getComputedStyle(像素[tempnum]).getPropertyValue('--state');
如果(pixstate=='snake'| | pixstate=='snakeHead'| | pixstate=='snakeEnd'){
console.log('Repeating');
食物制作();
}否则{
console.log(“食品制造”);
$(像素[tempnum]).css('--state',food');
}
}
var directSend=函数(参考,方向){
如果(方向=‘左’){
参考-=1;
返回参考;
}否则如果(方向=‘向上’){
参考-=12;
返回参考;
}否则如果(方向=‘右’){
参考值+=1;
返回参考;
}否则(方向==“向下”){
参考值+=12;
返回参考;
}
}
var snakeMake=函数(参见,tsnakel){//继续形成Snake
如果(tsnakel>0){
var tempdir=$(像素[参考]).css('--goFrom');
log(directSend(参见tempdir));
如果(tsnakel=1){
$(像素[directSend(参考,tempdir)]).css('-state',empty');
}否则{
REFERE=直接发送(REFERE,tempdir);
}
tsnakel-=1;
蛇行(参见tsnakel);
}
}
var snakeHEF=function(){//Form Snake的第一部分
var Pheadpos;
var-tdir;
如果(dir=='left'){//上一段位置
Pheados=1;
tdir='右';
}否则如果(dir=='up'){
Pheados=12;
tdir=‘向下’;
}else if(dir=='right'){
Pheados=-1;
tdir=‘左’;
}else if(dir=='down'){
Pheados=-12;
tdir=‘向上’;
}
$(像素[headPos]).css('--state','snakeHead');
$(像素[headPos]).css('--snakePos',1');
$(像素[headPos]).css('--goFrom',tdir);
如果(蛇龙==1){//不吃食物
$(像素[headPos+Pheadpos]).css('--state','empty');
}
如果(蛇龙>=2){//吃一种食物
var发送;
$(像素[headPos+Pheadpos]).css('-state',snake');
$(像素[headPos+Pheadpos]).css('-snakePos','2');
var temppos=$(像素[headPos+Pheadpos]).css('--goFrom');
如果(temppos==‘左’){
$(像素[headPos+Pheadpos-1]).css('--state','empty');
send=headPos+Pheadpos-1;
}否则如果(temppos==‘向上’){
$(像素[headPos+Pheadpos-12]).css('--state','empty');
send=headPos+Pheadpos-12;
}else if(temppos=='right'){
$(像素[headPos+Pheadpos+1]).css('--state','empty');
send=headPos+Pheadpos+1;
}否则如果(temppos==‘向下’){
$(像素[headPos+Pheadpos+12]).css('--state','empty');
send=headPos+Pheadpos+12;
}
如果(蛇龙>2){//吃了1种以上的食物
snakeMake(send,snakeLong-2);
}
}
}
var Game=setInterval(函数(){
$(文档).keydown(功能)(按键){
如果(keyPressed.keyCode==88){//Reset Game[x]
对于(s=0;s<96;s++){
var pixstate=$(像素数)css('--state');
如果(pixstate==‘食物’){
$(像素数)css('--state',empty');
}
如果(pixstate=='snake'| | pixstate=='snakeHead'| | pixstate=='snakeEnd'){
$(像素数)css('--state',empty');
$(像素数)css('--snakePos',not');
$(像素数)css('--goFrom',none');
}
}
foodEat=真;
$(像素[0]).css('--state','snakeHead');
$(像素[0]).css('--snakePos',1');
$(像素[0]).css('--goFrom',left');
死=假;
蛇龙=1;
headPos=0;
dir='右';
}//运动集
如果(keyPressed.keyCode==37&&dir!='right'){/[]
dir='右';
}else if(keyPressed.keyCode==40&&dir!=='up'){/[vv]
dir='down';
}
});
如果(dead==false){//dead检查,则进行游戏计算
如果(dir=='left'){//移动头部
对于(s=0;s<8;s++){
如果(头部位置==0+(12*s)){
死=真;
}
}
如果(死==假){
headPos-=1;
如果(foodPix==headPos){
蛇龙+=1;
foodEat=真;
}
蛇毒();
}
}否则如果(dir=='up'){
如果(头部位置<12){
死=真;
}
如果(死==假){
头部位置-=12;
如果(foodPix==headPos){
蛇龙+=1;
foodEat=真;
}
蛇毒();
}
}else if(dir=='right'){
对于(s=0;s<8;s++){
如果(头部位置==11+(12*s)){
死=真;
}
}
如果(死==假){
headPos+=1;
如果(foodPix==headPos){
蛇龙+=1;
foodEat=真;
}
蛇毒();
}
}else if(dir=='down'){
如果(头部位置>83){
死的=