请问加入黑子在0,0位置点击了一个子,那下面的是怎么判断的呢,u,v的值是如何得到0,1的

来源:2-5 计算机AI实现(2)

慕粉4178113

2017-05-26 18:43

请问加入黑子在0,0位置点击了一个子,那下面的是怎么判断的呢,u,v的值是如何得到0,1的

                                 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;

}

}


写回答 关注

1回答

  • 慕粉0621111103
    2017-06-29 16:36:38

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

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

    if(chessBord[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){

    .......

    需要根据这段来判断,循环判断if(chessBord[i][j]==0)时,黑子位置i=0,j=0此时chessBord[0][0]==1,程序不往下执行,然后循环里j+1,chessBord[0][1]==0,进入之后的判断wins[0][1][0]此时为true,myWin[k]==1(这是在落子黑子落子那一步的时候算出来的)符合第一种赢法,myScore[0][1]==200,此时i=0,j=1,之后的判断除了每次循环k的时候会进入myWin[0]==200之外,其余判断都不会进入,这样实际上最终,myScore[0][1] >0进入了判断,于是记录u=0,v=1,然后电脑根据这个坐标落白子

JS实现人机大战之五子棋(AI篇)

"AlphaGO"我要和你下五子棋,教程带你实现五子棋AI

43235 学习 · 109 问题

查看课程

相似问题