本文共 3062 字,大约阅读时间需要 10 分钟。
// undefined
包装类执行完就销毁了
function numRookCaptures(board){ let xR = -1, yR = -1, count = 0; for(let i = 0; i < 8; i++){ if(board[i].indexOf('R') != -1 ){ xR = i; yR = board[i].indexOf('R'); break; } } // up for(let i = xR; i >= 0; i--){ if(board[i][yR] == 'p' || board[i][yR] == 'B') { if(board[i][yR] == 'p'){ count++; } break; } } // down for(let i = xR; i < 8; i++){ if(board[i][yR] === 'p' || board[i][yR] == 'B'){ if(board[i][yR] == 'p'){ count++; } break; } } // left for(let j = yR; j >= 0; j--){ if(board[xR][j] == 'p' || board[xR][j] == 'B'){ if(board[xR][j] == 'p'){ count++; } break; } } // right for(let j = yR; j < 8; j++){ if(board[xR][j] == 'p' || board[xR][j] === 'B'){ if(board[xR][j] == 'p'){ count++; } break; } } return count;}let arr0 = [[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".","R",".",".",".","p"],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]let arr1 = [[".",".",".",".",".",".",".","."],[".","p","p","p","p","p",".","."],[".","p","p","B","p","p",".","."],[".","p","B","R","B","p",".","."],[".","p","p","B","p","p",".","."],[".","p","p","p","p","p",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]let arr2 = [[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".","p",".",".",".","."],["p","p",".","R",".","p","B","."],[".",".",".",".",".",".",".","."],[".",".",".","B",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".",".",".",".",".","."]]let arr3 = [[".",".",".",".",".",".",".","."],[".",".",".","p",".",".",".","."],[".",".",".","R",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]let arr5 = [[".",".",".",".",".",".",".","."],[".",".","B","B","B","B","B","."],[".",".","B",".",".",".","B","."],[".",".","B",".","R",".","B","."],[".",".","B",".",".",".","B","."],[".",".","B","B","B","B","B","."],[".",".",".",".",".",".",".","."],[".",".",".",".",".",".",".","."]]
var numRookCaptures = function(board) { let cnt = 0, st = 0, ed = 0; const dx = [0, 1, 0, -1]; const dy = [1, 0, -1, 0]; for (let i = 0; i < 8; ++i) { for (let j = 0; j < 8; ++j) { if (board[i][j] == 'R') { st = i; ed = j; break; } } } for (let i = 0; i < 4; ++i) { for (let step = 0;; ++step) { const tx = st + step * dx[i]; const ty = ed + step * dy[i]; if (tx < 0 || tx >= 8 || ty < 0 || ty >= 8 || board[tx][ty] == 'B') { break; } if (board[tx][ty] == 'p') { cnt++; break; } } } return cnt;};
转载地址:http://netzi.baihongyu.com/