Fri Jun 30 08:43:00 UTC 2023 inscode

上级 053ebe44
......@@ -52,7 +52,7 @@ function getStyle(item, row, col) {
</p>
<p class="flex-between mr-6px">
<label for="win_size" class="space-nowrap">胜利棋数:</label>
<input v-model="win_size" id="win_size" type="number">
<input v-model="win_size" id="win_size" type="number" min="3" max="8">
</p>
<button @click="confirm" class="space-nowrap">重新开始</button>
</div>
......
......@@ -23,6 +23,7 @@ export const directions = [
* @returns
*/
export function checkWin({ row, col, board, player, win_size, direction }) {
console.log(win_size)
const _row = board.length;
const _col = board[0].length
const pieceType = player ?? board[row][col]
......@@ -92,7 +93,7 @@ export function robotPlay(board, robot, win_size) {
if (oppWin.length >= win_size) {
return [row, col]
} else {
// 计算当前棋盘局面的得分
// 这里要应该是要返回这个位置的分数
const horizontal = checkWin({ row, col, board, player: is_black, win_size, direction: getDirection("horizontal") });
const vertical = checkWin({ row, col, board, player: is_black, win_size, direction: getDirection("vertical") });
const diagonalDown = checkWin({ row, col, board, player: is_black, win_size, direction: getDirection("diagonalDown") });
......@@ -128,3 +129,20 @@ function getDirection(direction) {
return [0, 0];
}
}
/**
* 评估每个空位置的价值,从八个方向去计算
* @param {object} Estimate
* @param {object} Estimate.board
* @param {number} Estimate.row
* @param {number} Estimate.col
* @param {number} Estimate.win
* @param {number[]} Estimate.direction
* @return {number}
*/
function estimateScore({board, row, col, win, direction}){
const player = is_white
let res = 0
return res
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册