猿问

网页未响应,代码有问题?



var me = true;

var over=false;
chessBorad=[];
for (var i = 0; i < 15; i++) {
    chessBorad[i] = [];
    for (var j = 0; j < 15; j++) {
        chessBorad[i][j] = 0;
    }
}

var wins=[];

var myWin=[];
var computerWin=[];

for (var i = 0; i < 15; i++) {
    wins[i] = [];
    for (var j = 0; j < 15; j++) {
        wins[i][j] = [];
    }
}

var count=0;
for(i=0;i<15;i++){
 for(j=0;j<11;j++){
  for(k=0;k<5;k++){
   wins[i][j+k][count]=true;
  }
  count++;
 }
}

for(i=0;i<15;i++){
 for(j=0;j<11;j++){
  for(k=0;k<5;k++){
   wins[j+k][i][count]=true;
  }
  count++;
 }
}

for(i=0;i<11;i++){
 for(j=0;j<11;j++){
  for(k=0;k<5;k++){
   wins[i+k][j+k][count]=true;
  }
  count++;
 }
}

for(i=0;i<11;i++){
 for(j=14;j>3;j--){
  for(k=0;k<5;k++){
   wins[i+k][j-k][count]=true;
  }
  count++;
 }
}

console.log(count);


for(var i=0;i<count;i++){
 myWin[i]=0;
 computerWin[i]=0;
}
var chess=document.getElementById('chess');
var context=chess.getContext('2d');
context.strokeStyle='#BFBFBF';
 var logo=new Image();
 logo.src="logo.png";
 logo.onload=function(){
  context.drawImage(logo,105,105,240,240);
  drawChessBorad();
 }
 var drawChessBorad=function(){
for(var i=0;i<15;i++){
 context.moveTo(15+i*30,15);
 context.lineTo(15+i*30,435);
 context.stroke();
 context.moveTo(15,15+i*30);
 context.lineTo(435,15+i*30);
 context.stroke();
}
}
var oneStep=function(i,j,me){
 context.beginPath();
    context.arc(15+i*30,15+j*30,13,0,2*Math.PI);
  context.closePath();
 var gradient=context.createRadialGradient(15+i*30+2,15+j*30-2,13,15+i*30+2,15+j*30-2,0);
 if(me){
 gradient.addColorStop(0,"#0A0A0A");
 gradient.addColorStop(1,"#636766");
 }else{
 gradient.addColorStop(0,"#D1D1D1");
 gradient.addColorStop(1,"#F9F9F9");
 }
 context.fillStyle=gradient;
 context.fill();
}
chess.onclick=function(e){
 if(over){
  return;
 }
 if(!me){
  return;
 }
 var x=e.offsetX;
 var y=e.offsetY;
 var i=Math.floor(x/30);
 var j=Math.floor(y/30);
 if(chessBorad[i][j]==0){
        oneStep(i,j,me);
        chessBorad[i][j] = 1;
   
  for(var k=0;k<count;k++){
   if(wins[i][j][k]){
    myWin[k]++;
    computerWin[k]=6;
    if(myWin[k]==5){
     window.alert("你赢了");
     over=true;
    }
   }
  }
  if(!over){
    me=!me;
   computerAI();
  }
    }
}

var computerAI=function(){
 var myScore=[];
 var computerScore=[];
 var max=0;
 var u=0,v=0;
 for(var i=0;i<15;i++){
  myScore[i]=[];
  computerScore[i]=[];
  for(var j=0;j=15;j++){
   myScore[i][j]=0;
   computerScore[i][j]=0;
  }
 }
 for(var i=0;i<15;i++){
  for(var j=0;j<15;j++){
   if(chessBorad[i][j]==0){
    for(k=0;k<count;k++){
     if(wins[i][j][k]){
      if(myWin[k]==1){
       myScore[i][j]+=200;
      }else if(myWin[k]==2){
       myScore[i][j]+=400;
     }else if(myWin[k]==3){
      myScore[i][j]+=2000;
     }else if(myWin[k]==4){
      myScore[i][j]+=10000;
     }else if(computerWin[k]==1){
       myScore[i][j]+=220;
      }else if(computerWin[k]==2){
       myScore[i][j]+=420;
     }else if(computerWin[k]==3){
      myScore[i][j]+=2100;
     }else if(computer[k]==4){
      myScore[i][j]+=20000;
     }
    }
   }
   if(computerScore[i][j]>max){
    max=computerScore[i][j];
    u=i;
    v=j;
   }else if(computerScore[i][j]==max){
    if(myScore[i][j]>myScore[u][v]){
     u=i;
     v=j;
    }
   }
  }
 }
  } 
  oneStep(u,v,false);
  chessBorad[u][v]=2;
   for(var k=0;k<count;k++){
   if(wins[u][v][k]){
    computerWin[k]++;
    myWin[k]=6;
    if(computerWin[k]==5){
     window.alert("你输了");
     over=true;
    }
   }
  }
  if(!over){
    me=!me;
  }
}

 

慕姐9679629
浏览 1329回答 1
1回答

卖火柴的小舒

调试使用chrome或者firefox吧。然后估计是哪儿近死循环了!
随时随地看视频慕课网APP
我要回答