问答详情
源自:3-1 案例总结

为什么只能走对角线呢?

window.onload = function(){

var c = document.getElementById('mc');

    var myc = c.getContext('2d');

    var chB = [];

    var me = true;


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

    chB[i] = [];

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

    chB[i][j] = 0;

    }

    }

 /*棋盘*/    

   draw = function(){

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

    myc.moveTo(15+i*30,15);

        myc.lineTo(15+i*30,435);

        myc.stroke();

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

        myc.moveTo(15,15+i*30);

            myc.lineTo(435,15+i*30);

            myc.stroke();

        }

   }

  }

  draw();

  /*棋子*/

     var one = function (i,j,me) {

      myc.beginPath();

        myc.arc(15+i*30,15+i*30,13,0,2*Math.PI);

        myc.closePath();

        /*渐变*/

        var gra = myc.createRadialGradient(17+i*30,13+i*30,13,17+i*30,13+i*30,0);

        if(me) {

        gra.addColorStop(0,"#0a0a0a");

        gra.addColorStop(1,"#636766");

        }

        else {

        gra.addColorStop(0,"#d1d1d1");

        gra.addColorStop(1,"#f9f9f9");

        }


        myc.fillStyle = gra;

        myc.fill();

     }

   


   c.onclick = function (e) {

       var x = e.offsetX;

       var y = e.offsetY;

       var i =Math.floor(x/30);

       var j =Math.floor(y/30);


        if (chB[i][j]==0) {

        one(i,j,me);

        if (me) {

        chB[i][j]=1;

        }else {

        chB[i][j]=2;

        }

        }


       me = !me ;

   }


}


提问者:LY_LiMuMu 2016-05-10 22:06

个回答

  • qq_小盛同学拒绝不了_03127943
    2016-11-20 22:20:36

       var gra = myc.createRadialGradient(17+i*30,13+i*30,13,17+i*30,13+i*30,0);这句话,应该是这样的   var gra = myc.createRadialGradient(17+i*30,13+j*30,13,17+i*30,13+j*30,0);

  • 茜茜公主3756
    2016-05-15 19:06:52

    var one = function (i,j,me) {

        这里面你都弄成i了,没有j。

    }