Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Shogi

将棋盤を管理するクラス

Hierarchy

  • Shogi

Index

Constructors

constructor

Properties

board

board: Piece[][]

盤面

flagEditMode

flagEditMode: boolean

編集モードかどうか

hands

hands: Piece[][]

持ち駒

turn

turn: Color

次の手番

Methods

Private capture

  • capture(x: number, y: number): void
  • (x, y)の駒を取って反対側の持ち駒に加える

    Parameters

    • x: number
    • y: number

    Returns void

captureByColor

  • captureByColor(x: number, y: number, color: Color): void
  • (x, y)の駒を取ってcolorの持ち駒に加える

    Parameters

    • x: number
    • y: number
    • color: Color

    Returns void

Private checkTurn

  • checkTurn(color: Color): void
  • colorの手番で問題ないか確認する.編集モードならok.

    Parameters

    Returns void

drop

  • drop(tox: number, toy: number, kind: string, color?: Color): void
  • (tox, toy)へcolorの持ち駒のkindを打つ.

    Parameters

    • tox: number
    • toy: number
    • kind: string
    • Default value color: Color = this.turn

    Returns void

editMode

  • editMode(flag: boolean): void
  • 編集モード切り替え

    • 通常モード:移動時に手番と移動可能かどうかチェックし,移動可能範囲は手番側のみ返す.
    • 編集モード:移動時に手番や移動可能かはチェックせず,移動可能範囲は両者とも返す.

    Parameters

    • flag: boolean

    Returns void

flip

  • flip(x: number, y: number): boolean
  • (x, y)の駒をフリップする(先手→先手成→後手→後手成→) 成功したらtrueを返す

    Parameters

    • x: number
    • y: number

    Returns boolean

get

  • get(x: number, y: number): Piece
  • (x, y)の駒を得る

    Parameters

    • x: number
    • y: number

    Returns Piece

getDropsBy

getHandsSummary

  • getHandsSummary(color: Color): {}
  • keyを種類,valueを枚数とするオブジェクトとして持ち駒の枚数一覧を返す.

    Parameters

    Returns {}

    • [index: string]: number

getMovesFrom

  • getMovesFrom(x: number, y: number): IMove[]
  • (x, y)の駒の移動可能な動きをすべて得る 盤外,自分の駒取りは除外.二歩,王手放置などはチェックせず.

    Parameters

    • x: number
    • y: number

    Returns IMove[]

getMovesTo

  • getMovesTo(x: number, y: number, kind: string, color?: Color): IMove[]
  • (x, y)に行けるcolor側のkindの駒の動きを得る

    Parameters

    • x: number
    • y: number
    • kind: string
    • Default value color: Color = this.turn

    Returns IMove[]

initialize

  • 盤面を初期化する

    Parameters

    • Default value setting: ISettingType = {preset: "HIRATE"}

      初期局面(なければ平手)

    Returns void

initializeFromSFENString

  • initializeFromSFENString(sfen: string): void
  • SFENによる盤面表現の文字列で盤面を初期化する

    Parameters

    • sfen: string

    Returns void

move

  • move(fromx: number, fromy: number, tox: number, toy: number, promote?: boolean): void
  • (fromx, fromy)から(tox, toy)へ移動し,promoteなら成り,駒を取っていれば持ち駒に加える..

    Parameters

    • fromx: number
    • fromy: number
    • tox: number
    • toy: number
    • Default value promote: boolean = false

    Returns void

Private nextTurn

  • nextTurn(): void
  • 次の手番に行く

    Returns void

Private popFromHand

  • color側のkindの駒を取って返す

    Parameters

    • kind: string
    • color: Color

    Returns Piece

Private prevTurn

  • prevTurn(): void
  • 前の手番に行く

    Returns void

Private pushToHand

  • pushToHand(piece: Piece): void
  • 駒pieceを持ち駒に加える

    Parameters

    Returns void

Private set

  • set(x: number, y: number, piece: Piece): void
  • (x, y)に駒を置く

    Parameters

    • x: number
    • y: number
    • piece: Piece

    Returns void

setTurn

  • setTurn(color: Color): void

toCSAString

  • toCSAString(): string
  • CSAによる盤面表現の文字列を返す

    Returns string

toSFENString

  • toSFENString(moveCount?: number): string
  • SFENによる盤面表現の文字列を返す

    Parameters

    • Default value moveCount: number = 1

    Returns string

undrop

  • undrop(tox: number, toy: number): void
  • dropの逆を行う,つまり(tox, toy)の駒を駒台に戻す.

    Parameters

    • tox: number
    • toy: number

    Returns void

unmove

  • unmove(fromx: number, fromy: number, tox: number, toy: number, promote?: boolean, capture?: string): void
  • moveの逆を行う.つまり(tox, toy)から(fromx, fromy)へ移動し,駒を取っていたら戻し,promoteなら成りを戻す.

    Parameters

    • fromx: number
    • fromy: number
    • tox: number
    • toy: number
    • Default value promote: boolean = false
    • Optional capture: string

    Returns void

Static Private getIllegalUnpromotedRow

  • getIllegalUnpromotedRow(kind: string): 1 | 2 | 0
  • Parameters

    • kind: string

    Returns 1 | 2 | 0

Static Private getRowToOppositeEnd

  • getRowToOppositeEnd(y: number, color: Color): number
  • 手番の相手側から数えた段数

    Parameters

    Returns number

Generated using TypeDoc