JSFiddle - React, Tailwind, and code Playground

JavaScript

function ajedrez(reinas,rey){
    var oy,ox;
    var dx,dy,adx,ady;
    var positions=[0,0,0,0,0,0,0,0,0];
    rX=rey[0];
    rY=rey[1];
    ty=0;
    for(i=0;i<reinas.length;i++)
    {
        pos=0;
        crX=reinas[i][0];
        crY=reinas[i][1];
        
        for(j=rY-1;j<=rY+1;j++)
        {       
            if(j==crY)
            {
               positions[pos]++;
               positions[pos+1]++;     
               positions[pos+2]++;
            }
            ty=Math.abs(crY-j);
            for(k=rX-1;k<=rX+1;k++,pos++)
            {
                if(k==crX)
                {
                    if(j==crY)
                    {
                        positions[pos]--;
                        continue;
                    }    
                    positions[pos]++;                
                }                
                if(Math.abs(crX-k)==ty)
                    positions[pos]++;
            }
        }
    }
        
    var exits=0;
    pos=0;
    for(j=rY-1;j<=rY+1;j++)
    {   
        if(j<0 || j>7)continue; 
        for(k=rX-1;k<=rX+1;k++,pos++)
        {    
            if(k<0 || k>7)continue;             
            if(positions[pos]==0 && pos!=4)
                exits++;
        }
    }
    
    if(!exits)
    {
        if(positions[4])
            return {res:"jaque mate",pos:positions};
        return {res:"ahogado",pos:positions};
                
    }
    return {res:exits,pos:positions};
        
}


function paint()
{
    console.time("identificador");
var reinas =[[0,0],[1,1]], rey=[2,2];
//for(var c=0;c<10000;c++)
    v=ajedrez(reinas,rey); 
    drawTable(reinas,rey,v.pos);
    if(v.res=="jaque mate" || v.res=="ahogado")
        console.debug(v.res);
    else
        console.debug("Existen "+v.res+" salidas");
  
  var reinas =[[1,0],[0,7]], rey=[1,1];
//for(var c=0;c<10000;c++)
    v=ajedrez(reinas,rey); 
    drawTable(reinas,rey,v.pos);
    if(v.res=="jaque mate" || v.res=="ahogado")
       ...