GO: Various changes before 2.6.0 (#1120)

This commit is contained in:
Snarling
2024-02-26 08:05:10 -05:00
committed by GitHub
parent f6871f0911
commit 373ced2efe
62 changed files with 1626 additions and 2135 deletions

View File

@@ -1,11 +1,7 @@
import { setPlayer } from "@player";
import { GoColor } from "@enums";
import { PlayerObject } from "../../../src/PersonObjects/Player/PlayerObject";
import {
getAllEyes,
getAllValidMoves,
getBoardFromSimplifiedBoardState,
} from "../../../src/Go/boardAnalysis/boardAnalysis";
import { playerColors } from "../../../src/Go/boardState/goConstants";
import { getAllEyes, getAllValidMoves, boardStateFromSimpleBoard } from "../../../src/Go/boardAnalysis/boardAnalysis";
import { findAnyMatchedPatterns } from "../../../src/Go/boardAnalysis/patternMatching";
setPlayer(new PlayerObject());
@@ -13,7 +9,7 @@ setPlayer(new PlayerObject());
describe("Go board analysis tests", () => {
it("identifies chains and liberties", async () => {
const board = ["XOO..", ".....", ".....", ".....", "....."];
const boardState = getBoardFromSimplifiedBoardState(board);
const boardState = boardStateFromSimpleBoard(board);
expect(boardState.board[0]?.[0]?.liberties?.length).toEqual(1);
expect(boardState.board[0]?.[1]?.liberties?.length).toEqual(3);
@@ -21,10 +17,10 @@ describe("Go board analysis tests", () => {
it("identifies all points that are part of 'eyes' on the board", async () => {
const board = ["..O..", "OOOOO", "..XXX", "..XX.", "..X.X"];
const boardState = getBoardFromSimplifiedBoardState(board);
const boardState = boardStateFromSimpleBoard(board);
const whitePlayerEyes = getAllEyes(boardState, playerColors.white).flat().flat();
const blackPlayerEyes = getAllEyes(boardState, playerColors.black).flat().flat();
const whitePlayerEyes = getAllEyes(boardState.board, GoColor.white).flat().flat();
const blackPlayerEyes = getAllEyes(boardState.board, GoColor.black).flat().flat();
expect(whitePlayerEyes?.length).toEqual(4);
expect(blackPlayerEyes?.length).toEqual(2);
@@ -32,11 +28,11 @@ describe("Go board analysis tests", () => {
it("identifies strong patterns on the board", async () => {
const board = [".....", ".....", ".....", ".....", ".OXO."];
const boardState = getBoardFromSimplifiedBoardState(board);
const boardState = boardStateFromSimpleBoard(board);
const point = await findAnyMatchedPatterns(
boardState,
playerColors.white,
getAllValidMoves(boardState, playerColors.white),
boardState.board,
GoColor.white,
getAllValidMoves(boardState, GoColor.white),
true,
0,
);