Kokopu - v4.13.0
    Preparing search index...

    Class NodeAbstract

    Represent one move in the tree structure formed by a chess game with multiple variations.

    Hierarchy (View Summary)

    Index

    Methods

    • Add the given NAG to the current node or variation.

      Parameters

      • nag: number

      Returns void

    • Create a new variation that can be played instead of the current move.

      Parameters

      • OptionalisLongVariation: boolean

        false by default.

      Returns Variation

    • Remove all the NAGs from the current node or variation.

      Returns void

    • Get the text comment (if any) associated to the current node or variation.

      Returns string | undefined

    • Set the text comment associated to the current node or variation.

      Parameters

      • value: string | undefined

        If undefined, the existing value (if any) is erased.

      • OptionalisLongComment: boolean

        false by default.

      Returns void

    • FEN representation of the chess position after the current move.

      The fifty-move clock and full-move number are set according to the underlying game in the string returned by this method.

      Returns string

    • Number of half-moves since the last pawn move or capture, after the current move.

      Returns number

    • SAN-like representation of the move associated to the current node (or '--' for a null-move).

      Here, chess pieces are represented with their respective unicode character, instead of the first letter of their English name.

      Returns string

    • Remove from the the current node or variation the NAGs for which the given filter evaluates to false (and keep those for which it evaluates to true).

      Parameters

      • filter: (nag: number) => boolean

      Returns void

    • Remove from the the current node or variation the key-value tag pairs for which the given filter evaluates to false (and keep those for which it evaluates to true).

      Parameters

      • filter: (tagKey: string, tagValue: string) => boolean

      Returns void

      AbstractNode.tags for more details on tags.

    • Identifier of the Node that arise after playing distance moves starting from the current Node or Variation.

      REMARK: the ID returned by this method may not correspond to an existing Node if the underlying variation is not long enough. Still, in that case, the returned ID is always properly formed, and could correspond to a valid node later if the variation is extended.

      If distance is 0, this method returns the same result as AbstractNode.id.

      Parameters

      • distance: number

        Must be a positive integer.

      Returns string

    • Full-move number. It starts at 1 (by default), and is incremented after each black move.

      Returns number

    • Check whether the current node or variation has the given NAG or not.

      Parameters

      • nag: number

      Returns boolean

    • Identifier of the current Node or Variation within its parent Game.

      WARNING: the ID may change when variations are modified (added, removed, swapped, promoted...) among the parents the current node.

      Returns string

    • Whether the text comment associated to the current node or variation is long or short.

      Returns boolean

      false if no comment is defined.

    • Returns boolean

      Use obj instanceof Variation instead.

    • Color of the player who plays the current move.

      Returns Color

    • NAGs associated to the current node or variation.

      Returns number[]

      array sorted in increasing order.

    • Return the Node that comes after the current one in their parent variation.

      Returns Node | undefined

      undefined if the current node is the last one of the variation.

    • SAN representation of the move associated to the current node (or '--' for a null-move).

      Returns string

    • Create a new node representing the given move, and append it to the current node or variation.

      If there are some pre-existing subsequent nodes, they are all erased.

      Parameters

      • move: string

        SAN representation of the move, or '--' for a null-move.

      Returns Node

      The newly created Node.

      exception.InvalidNotation if the move notation cannot be parsed, or if the parsed move would correspond to an illegal move.

    • Chess position obtained after the current move.

      Returns Position

    • Chess position before the current move.

      Returns Position

    • Return the Node that comes before the current one in their parent variation.

      Returns Node | undefined

      undefined if the current node is the first one of the variation.

    • Replace the move on the current node (and the following ones, if any) by the moves of the variation corresponding to the given index, and create a new variation with the move on the current node and its successors.

      WARNING: the promoted variation must NOT be empty (otherwise an exception is thrown).

      Parameters

      • variationIndex: number

        Index of the variation to promote (must be such that 0 <= variationIndex < thisNode.variations().length).

      Returns void

    • Erase all the moves after the one on the current Node: after that, Node.next returns undefined.

      If the current Node is already the last one in its variation (i.e. if Node.next returns undefined already), nothing happens.

      Returns void

    • Remove the given NAG from the current node or variation.

      Parameters

      • nag: number

      Returns void

    • Remove the variation corresponding to the given index.

      Parameters

      • variationIndex: number

        Index of the variation to remove (must be such that 0 <= variationIndex < thisNode.variations().length).

      Returns void

    • Change the order of the variations by swapping the two variations corresponding to the given indexes.

      Parameters

      • variationIndex1: number

        Index of one variation to swap (must be such that 0 <= variationIndex1 < thisNode.variations().length).

      • variationIndex2: number

        Index of the other variation to swap (must be such that 0 <= variationIndex2 < thisNode.variations().length).

      Returns void

    • Get the value associated to the given tag key on the current node or variation.

      Parameters

      • tagKey: string

      Returns string | undefined

      AbstractNode.tags for more details on tags.

    • Set the value associated to the given tag key on the current node or variation.

      Parameters

      • tagKey: string
      • value: string | undefined

        If undefined, the existing value (if any) is erased.

      Returns void

      AbstractNode.tags for more details on tags.

    • Return the keys of the tags associated to the current node or variation.

      The tag mechanism is a key-value associative container allowing to store some arbitrary data on each node or variation. In PGN, the tags are represented as [%tagKey tagValue] strings appended to text comments.

      The tag keys must be non-empty, and can contain only alphanumeric or underscore characters.

      Returns string[]

      array sorted in increasing order.

    • Alternative variations that can be followed instead of the current move.

      Returns Variation[]