任何5个子都能赢

来源:2-3 赢法统计数组和胜负判断

慕仔5460792

2016-07-18 18:21

这个任何5个子都能赢的bug怎么解决啊?求详细

写回答 关注

1回答

  • 未来开拓者
    2016-07-21 11:18:27

    你只要再建立一个判断落子是黑色还是白色的机制就可以了,比如我是这样写的

    var judgement=function(x,y,color){ //judgement函数判断游戏是否结束,color 判断落子颜色

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

    if(win[x][y][i]){  //点(x,y)处有赢法

    if(color==1){ //判断落子为黑色的情况

    userWin[i]++;//黑色落子累加器

    if(userWin[i]==5){ //黑色落子在某种赢法中达到5个则执行以下语句

    window.alert("黑子胜利!");

    document.getElementById("text").innerHTML="游戏结束";

    document.getElementById("end").style.visibility="visible";

    over=true;

    }

    }

    if(color==2){ //判断落子为白色的情况

    pcWin[i]++; //白色落子累加器

    if(pcWin[i]==5){//白色落子在某种赢法中达到5个则执行以下语句

    window.alert("白子胜利!");

    document.getElementById("text").innerHTML="游戏结束";

    document.getElementById("end").style.visibility="visible";

    over=true;

    }

    }

    }

    }

    }

    ...

    ...

    chess.onclick=function(e){

    if(over){

    return ;

    }

    var x=Math.floor(e.offsetX/30);

    var y=Math.floor(e.offsetY/30);

    if(chessBoard[x][y]==0){

    oneStep(x,y,me);

    if(me){

    chessBoard[x][y]=1;

    }

    else{

    chessBoard[x][y]=2;

    }

    judgement(x,y,chessBoard[x][y]);  //调用judgement函数

    me=!me;

    }

    }

    <!--希望能帮到你-->

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

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

43235 学习 · 109 问题

查看课程

相似问题