fix: onitama win con
This commit is contained in:
@@ -176,22 +176,24 @@ const swapCard = registry.register({
|
||||
|
||||
/**
|
||||
* 检查占领胜利条件:玩家的师父棋子到达对手的初始位置
|
||||
* 红色师父需要到达 (2, 4) - 黑色师父的初始位置
|
||||
* 黑色师父需要到达 (2, 0) - 红色师父的初始位置
|
||||
*/
|
||||
async function handleCheckConquestWin(game: OnitamaGame): Promise<PlayerType | null> {
|
||||
const state = game.value;
|
||||
|
||||
// 红色师父到达 y=4(黑色初始位置)
|
||||
|
||||
// 红色师父到达 (2, 4)(黑色师父的初始位置)
|
||||
const redMaster = state.pawns['red-master'];
|
||||
if (redMaster && redMaster.regionId === 'board' && redMaster.position[1] === 4) {
|
||||
if (redMaster && redMaster.regionId === 'board' && redMaster.position[0] === 2 && redMaster.position[1] === 4) {
|
||||
return 'red';
|
||||
}
|
||||
|
||||
// 黑色师父到达 y=0(红色初始位置)
|
||||
|
||||
// 黑色师父到达 (2, 0)(红色师父的初始位置)
|
||||
const blackMaster = state.pawns['black-master'];
|
||||
if (blackMaster && blackMaster.regionId === 'board' && blackMaster.position[1] === 0) {
|
||||
if (blackMaster && blackMaster.regionId === 'board' && blackMaster.position[0] === 2 && blackMaster.position[1] === 0) {
|
||||
return 'black';
|
||||
}
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user