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
2016-04-09 13:30:17