在 checkWin for gomoku 中计数未增加到 2 以上

count not increasing above 2 in checkWin for gomoku

提问人:Adarkai CV 提问时间:3/9/2023 更新时间:3/9/2023 访问量:18

问:

所以我一直在尝试让机器人使用 checkWin 方法,但无论如何都不会触发获胜条件

  public boolean checkWinner(int player) {
    int[] lineX = { 1, 1, 1,1};
    //int[] lineX = { 1, 1, 1 };
    int[] lineY = { 0, 1, 1 ,-1};
    for (int x = 0; x < 19; x++) {
      for (int y = 0; y < 19; y++) {
        if (this.cell[x][y] == player)
          for (int i = 0; i <4; i++) {
            int count = 1;
            for (int j = 1; j <=4; ) {
              int vtx = x + lineX[i] * j;
              // vector x = x + lineX * J (loop) | horizontal
              int vty = y + lineY[i] * j;
              System.out.println(" x: "+x);
              System.out.println(" y: "+y);
              if (vtx >= 0 && vty >= 0 && vtx < 19 && vty < 19 && 
                this.cell[vtx][vty] == player) {
                count++;
                j++;
                System.out.println("count: "+count);
                System.out.println("j: "+j);
              } 
              break;
            } 
            if (count == 5)
              return true; 
          }  
      } 
    } 
    return false;

}

有什么想法吗?

我试图更改数组的大小和值,循环计数,但计数不会超过 2,因此没有人获胜在这里输入图像描述

数组井 五莫

评论


答: 暂无答案