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

求项目的源代码

老师有源代码可以看么?全部的代码截图或者全部的代码

正在回答

2 回答

不对啊

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

var chessBoard= [];
var me =true;
var over=false;

//赢法数组
var wins=[];

//赢法的统计数组
var myWin=[];
var computerWin=[];

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

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

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

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

for(var i=0;i<11;i++) {
 for(var j=14;j>3; j--) {
  
  for(var 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;
}
var chess= document.getElementById('chess');
var context= chess.getContext('2d');

context.strokeStyle="#BFBFBF";

var logo= new Image();
logo.src="img/logo.jpeg";
logo.onload=function(){
context.drawImage(logo,0,0,450,450);
drawChessBoard();


}
var drawChessBoard=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,435);
 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,5+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(chessBoard[i][j] == 0) {

        oneStep(i, j, me);

        chessBoard[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(chessBoard[i][j] == 0) {

                for(var 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;

                        }

                        if(computerWin[k] == 1) {

                            computerScore[i][j] += 220;

                        } else if(computerWin[k] == 2) {

                            computerScore[i][j] += 420;

                        } else if(computerWin[k] == 3) {

                            computerScore[i][j] += 2100;

                        } else if(computerWin[k] == 4) {

                            computerScore[i][j] += 20000;

                        }

                    }

                }

                if(myScore[i][j] > max) {

                    max = myScore[i][j];

                    u = i;

                    v = j;

                } else if(myScore[i][j] == max) {

                    if(computerScore[i][j] > computerScore[u][v]) {

                        u = i;

                        v = j;

                    }

                }

                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);

    chessBoard[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;

        }

}


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

举报

0/150
提交
取消

求项目的源代码

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