diff --git a/src/utils/index.js b/src/utils/index.js index 450488aab3f3e6149879a667da7267e29e6b5a87..9211c7e1ccef1f290d54f0162ac05eb411672939 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -169,7 +169,7 @@ function getBoundary(size, num) { * @param {(is_empty|is_white|is_black)[][]} board 棋盘 * @param {number} row 行 * @param {number} col 列 - * @return {num: number, empty_num: number} 说明:num: 棋子个数;empty_num: 空格数量 + * @return {{num: number, empty_num: number}} 说明:num: 棋子个数;empty_num: 空格数量 */ function getJoinInfo(board, row, col, [y, x]) { const ROW = board.length @@ -204,7 +204,9 @@ function getJoinInfo(board, row, col, [y, x]) { empty_num, } } - +function pow(num = 0) { + return 10 ** num +} /** * 根据棋子位置信息,计算分数 * @param {(is_empty|is_white|is_black)[]} board 棋盘 @@ -222,13 +224,13 @@ function getDirectionScore(board, row, col, [y, x], win_size) { res = r_num + l_num // 如果是中间断掉的 1,1; 1,2; 1,3; 2,2 - if (r_num !== 0 && l_num !== 0 && (r_num + l_num) < win_size) { - // 两边都有障碍物 - if (r_empty_num === 0 && l_empty_num === 0) { - res = 0 + if (r_num !== 0 && l_num !== 0) { + // 两边都有障碍物且小于 win_size + if (r_empty_num === 0 && l_empty_num === 0 && (r_num + l_num) < win_size) { + return 0 } // 一边有障碍物 - if(r_empty_num !== 0 || l_empty_num !== 0) { + if (r_empty_num !== 0 || l_empty_num !== 0) { // 只判断长的那边有障碍物的 } }