diff --git a/Compete/Game.cpp b/Compete/Game.cpp index 1df4449..f26f055 100644 --- a/Compete/Game.cpp +++ b/Compete/Game.cpp @@ -17,7 +17,7 @@ bool GameState::_checkEnd() const { if (C[cp][i] >= (n + 1) / 2) v += 1; } - return v >= 4; + return v >= (n + 1) / 2; } bool GameState::move(int x, int y) { diff --git a/Strategy/Strategy.cpp b/Strategy/Strategy.cpp index 23b6395..fd979b7 100644 --- a/Strategy/Strategy.cpp +++ b/Strategy/Strategy.cpp @@ -16,7 +16,7 @@ std::tuple getMove(int lstX, int lstY) { if (lstX != -1) { ctl[0][B[lstX][lstY]] += 1; int t = B[lstX][lstY]; - if (ctl[0][B[lstX][lstY]] >= 4) { + if (ctl[0][B[lstX][lstY]] >= (N + 1) / 2) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { if (B[i][j] == t) @@ -40,7 +40,7 @@ std::tuple getMove(int lstX, int lstY) { if (flag && B[i][j] != -1) { ctl[1][B[i][j]] += 1; - if (ctl[1][B[i][j]] >= 4) { + if (ctl[1][B[i][j]] >= (N + 1) / 2) { int t = B[i][j]; for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) {