Class GoEngine

Hierarchy

  • EventEmitter<Events>
    • GoEngine

Constructors

Properties

Accessors

Methods

Constructors

Properties

_cur_move: MoveTree
_last_official_move: MoveTree
_outcome: string = ""
_phase: GoEnginePhase = "play"
_rules: GoEngineRules = "japanese"
_strict_seki_mode: boolean = false
_undo_requested?: number
_winner?: number | "black" | "white"
aga_handicap_scoring: boolean = false
allow_ko: boolean = false
allow_self_capture: boolean = false
allow_superko: boolean = false
automatic_stone_removal: boolean = false
black_prisoners: number = 0
board_is_repeating: boolean
cur_review_move?: MoveTree
decoded_moves: JGOFMove[] = []
disable_analysis: boolean = false
dontStoreBoardHistory: boolean
free_handicap_placement: boolean = false
game_id: number = NaN
getState_callback?: (() => any)

Type declaration

    • (): any
    • Returns any

goban_callback?: GobanCore
group_ids?: number[]
handicap: number = NaN
height: number = 19
initial_state: GoEngineInitialState = ...
komi: number = NaN
latencies?: {
    [player_id: string]: number;
}

Type declaration

  • [player_id: string]: number
loading_sgf: boolean = false
marks: number[][]
move_before_jump?: MoveTree
move_tree: MoveTree
move_tree_layout_dirty: boolean = false
move_tree_layout_hash: {
    [coords: string]: MoveTree;
} = {}

Type declaration

move_tree_layout_vector: number[] = []
name: string = ""
parentEventEmitter?: EventEmitter<Events, any>
player_pool: {
    [id: number]: GoEnginePlayerEntry;
}

Type declaration

players: {
    black: GoEnginePlayerEntry;
    white: GoEnginePlayerEntry;
} = ...

Type declaration

puzzle_collection: number = NaN
puzzle_description: string = "[missing puzzle descripton]"
puzzle_opponent_move_mode: PuzzleOpponentMoveMode = "manual"
puzzle_player_move_mode: PuzzlePlayerMoveMode = "free"
puzzle_rank: number = NaN
puzzle_type: string = "[missing puzzle type]"
removal: (0 | 1 | -1)[][]
rengo?: boolean
rengo_casual_mode: boolean
rengo_teams?: {
    [colour: string]: GoEnginePlayerEntry[];
}

Type declaration

review_id?: number
score_handicap: boolean = false
score_prisoners: boolean = false
score_stones: boolean = false
score_territory: boolean = false
score_territory_in_seki: boolean = false
setState_callback?: ((state: any) => void)

Type declaration

    • (state: any): void
    • Parameters

      • state: any

      Returns void

superko_algorithm: GoEngineSuperKoAlgorithm = "psk"
territory_included_in_sgf: boolean = false
throw_all_errors?: boolean
time_control: JGOFTimeControl = ...
white_prisoners: number = 0
width: number = 19

Accessors

  • get outcome(): string
  • Returns string

  • set outcome(outcome: string): void
  • Parameters

    • outcome: string

    Returns void

  • get strict_seki_mode(): boolean
  • Returns boolean

  • set strict_seki_mode(strict_seki_mode: boolean): void
  • Parameters

    • strict_seki_mode: boolean

    Returns void

  • get undo_requested(): undefined | number
  • Returns undefined | number

  • set undo_requested(undo_requested: undefined | number): void
  • Parameters

    • undo_requested: undefined | number

    Returns void

  • get winner(): undefined | number | "black" | "white"
  • Returns undefined | number | "black" | "white"

  • set winner(winner: undefined | number | "black" | "white"): void
  • Parameters

    • winner: undefined | number | "black" | "white"

    Returns void

Methods

  • Returns "black" | "white"

  • Returns "black" | "white"

  • Returns {
        black: string;
        white: string;
    }

    • black: string
    • white: string
  • Parameters

    • Optional only_prisoners: boolean

    Returns Score

  • Type Parameters

    Parameters

    • event: K
    • Rest ...args: ArgumentMap<Events>[Extract<K, keyof Events>]

    Returns boolean

  • Parameters

    • from_turn: number
    • moves: string | AdHocPackedMove
    • Optional cb: ((x: number, y: number, edited: boolean, color: number) => void)
        • (x: number, y: number, edited: boolean, color: number): void
        • Parameters

          • x: number
          • y: number
          • edited: boolean
          • color: number

          Returns void

    Returns MoveTree[]

  • Parameters

    • pt_or_group: JGOFIntersection | Group
    • fn_of_neighbor_pt: ((x: number, y: number) => void)
        • (x: number, y: number): void
        • Parameters

          • x: number
          • y: number

          Returns void

    Returns void

  • Parameters

    • x: number
    • y: number
    • done_array: boolean[]
    • fn_of_neighbor_pt: ((x: number, y: number) => void)
        • (x: number, y: number): void
        • Parameters

          • x: number
          • y: number

          Returns void

    Returns void

  • Returns an array of x/y pairs of all the same color

    Parameters

    • x: number
    • y: number
    • clearMarks: boolean

    Returns Group

  • Returns number

  • Returns a move string from the given official move number (aka branch point)

    Returns {
        from: number;
        moves: string;
    }

    • from: number
    • moves: string
  • Parameters

    • player_id: number

    Returns boolean

  • return strue if our current move is our last official move

    Returns boolean

  • Parameters

    • player_id: number

    Returns boolean

  • Parameters

    • move_number: number

    Returns void

  • Parameters

    • sgf: string

    Returns (() => void)

      • (): void
      • Returns void

  • Returns the number of stones removed. If you want the coordinates of the stones removed, pass in a removed_stones array to append the moves to.

    Parameters

    • x: number
    • y: number
    • Optional checkForKo: boolean
    • Optional errorOnSuperKo: boolean
    • Optional dontCheckForSuperKo: boolean
    • Optional dontCheckForSuicide: boolean
    • Optional isTrunkMove: boolean
    • Optional removed_stones: JGOFIntersection[]

    Returns number

  • Parameters

    • Optional player_id: number

    Returns "black" | "white" | "invalid"

  • Parameters

    • x: number
    • y: number

    Returns string

  • Sets an entire group as being removed or not removed. If emit_stone_removal_updated is set to false, the "stone-removal.updated" event will not be emitted, and it is up to the caller to emit this event appropriately.

    Parameters

    • x: number
    • y: number
    • toggle_set: 0 | 1 | -1
    • emit_stone_removal_updated: boolean = true

    Returns [0 | 1 | -1, Group]

  • Saves our current move as our last official move

    Returns void

  • Sets a position as being removed or not removed. If emit_stone_removal_updated is set to false, the "stone-removal.updated" event will not be emitted, and it is up to the caller to emit this event appropriately.

    Parameters

    • x: number
    • y: number
    • removed: boolean | 0 | 1
    • emit_stone_removal_updated: boolean = true

    Returns void

  • Returns true if there was a next to show

    Returns boolean

  • Returns true if there was a next to show

    Returns boolean

  • Returns true if there was a previous to show

    Returns boolean

  • Parameters

    • x: number
    • y: number

    Returns [0 | 1, Group][]

Generated using TypeDoc