为了账号安全,请及时绑定邮箱和手机立即绑定

为什么说j未定义啊

     /** @type {HTMLCanvasElement} */

    let mycanvas=document.getElementById("mycanvas");

    let mycanvastxt=mycanvas.getContext("2d");

    let me=true;

    let wins=[];

    let chessBoard=[];

    let count=0;

    let mywin=[];

    let computerwin=[];

    let over=false;


    //赢法数组


    for(let i=0;i<15;i++){

        wins[i]=[];

        for(let j=0;j<15;j++){

            wins[i][j]=[];

            

        }   

    }

    

    

    

    for(let i=0;i<15;i++){

        for(let j=0;j<11;j++){

            for(let k=0;k<5;k++){

                wins[i][j+k][count]=true;

            }

            count++;

            

        }

    }


    for(let i=0;i<15;i++){

        for(let j=0;j<11;j++){

            for(let k=0;k<5;k++){

                wins[j+k][i][count]=true;

            }

            count++;

        }

    }

    

    for(let i=0;i<11;i++){

        for(let j=0;j<11;j++){

            for(let k=0;k<5;k++){

                wins[i+k][j+k][count]=true;

            }

            count++;

        }

    }


    for(let i=0;i<11;i++){

        for(let j=14;j>3;j--){

            for(let k=0;k<5;k++){

                wins[i+k][j-k][count]=true;

            }

            count++;

        }

    }

    

    for(var i=0;i<count;i++){

        mywin[i]=0;

        computerwin[i]=0;

    }


        for(let i=0;i<15;i++){

            chessBoard[i]=[];

            

            for(let j=0;j<15;j++){

                chessBoard[i][j]=0;

            }

        }     


        for(let i=1;i<30;i=i+2){

            mycanvastxt.moveTo(15,15*i);

            mycanvastxt.lineTo(435,15*i);

            mycanvastxt.moveTo(15*i,15);

            mycanvastxt.lineTo(15*i,435); 

        }

           


    mycanvastxt.lineWidth=1;

    mycanvastxt.stroke();


    function x(x,y,me){

    mycanvastxt.beginPath();

    mycanvastxt.arc(15+x*30,15+y*30,10,0,2*Math.PI)

    mycanvastxt.closePath();

    if(me){

        mycanvastxt.fillStyle="black";

    }else{

        mycanvastxt.fillStyle="#ccc";

    }

    

    mycanvastxt.fill();

  }


  mycanvas.onclick=function(e){

      if(over){

          return;

      }

      let xx=e.offsetX;

      let yy=e.offsetY;

      let xxx=Math.floor(xx/30);

      let yyy=Math.floor(yy/30);

      if(chessBoard[xxx][yyy]==0){

        x(xxx,yyy,me);

        if(me){

            chessBoard[xxx][yyy]=1;

        }else{

            chessBoard[xxx][yyy]=2;

        }

        me=!me;

        for(var k=0;k<count;k++){

            if(wins[i][j][k]){

                mywin[k]++;

                computerwin[k]=6;

                if(mywin[k]==5){

                    alert("你赢了")

                    over=true;

                }

            }

        }

      }

  }


正在回答

2 回答

onclick最后应该是3重for循环,你这只有k的循环,i,j的循环没有

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么说j未定义啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信