Hierarchy

  • default

Constructors

Properties

animate: ((cb: FrameRequestCallback) => number)

Type declaration

    • (cb: FrameRequestCallback): number
    • 动画方法

      Parameters

      • cb: FrameRequestCallback

      Returns number

blackPeiceBackground: string

黑色棋子背景颜色

blackPeiceTextColor: string

黑棋子字体颜色

Default Value

#000

boardTextColor: string

棋盘线条颜色

Default Value

#000

cancelAnimate: ((hander: number) => void)

Type declaration

    • (hander: number): void
    • 清除动画方法

      Parameters

      • hander: number

      Returns void

checkerboardBackground: string

棋盘背景颜色

choosePeiceBorderColor: string

选中的棋子边框颜色

choosePiece: null | ChessOfPeice

当前选中的棋子

ctx?: CanvasRenderingContext2D

背景 和 线条 二维操作上下文

currentSide: PieceSide

当前走棋方

drawMovePoint: boolean
duration: number

棋子运动速度时长 毫秒单位

endX: number

棋盘绘制末尾 x 值

endY: number

棋盘绘制末尾 y 值

errorEvents: GameErrorCallback[]

游戏运行报错事件列表

gameSide: null | PieceSide = null

当前游戏方

gameState: GameState

游戏进行状态

玩家 x轴 格子距离相差

玩家 y轴 格子距离相差

gridHeight: number

象棋格子高度

gridPostionList: Point[]

存放棋盘格子的所有坐标

gridWidth: number

象棋格子宽度

height: number

游戏窗口高度

lastMovePiece: undefined | ChessOfPeice

上次移动象棋:棋盘上的上一次移动棋子

lastMovePoint: undefined | Point

上次移动点:棋盘上移动棋子移动前的位置坐标点

livePieceList: PieceList

当前棋盘上存活的棋子

logEvents: GameLogCallback[]

游戏日志监听事件列表

moveEvents: MoveCallback[]

游戏移动监听事件列表

moveFailEvents: MoveFailCallback[]

游戏移动失败监听事件列表

movePointColor: string
overEvents: GameOverCallback[]

游戏结束监听事件列表

radius: number

象棋半径

redPeiceBackground: string

红色棋子背景颜色

redPeiceTextColor: string

红棋子字体颜色

Default Value

#c1190c

scaleRatio: number

画布缩放大小

Default Value

1

startX: number

棋盘绘制起始 x 值

startY: number

棋盘绘制起始 y 值

width: number

游戏窗口高度

winner: null | PieceSide = null

赢方

Accessors

  • get currentRadius(): number
  • 获取当前象棋绘制半径

    Returns number

Methods

  • 更换当前运行玩家

    Returns void

  • 检查是否有画布 有会更新画布 否则不更新 报出错误

    Returns void

  • 判断敌方被将军时,是否有解

    Returns

    返回是否有解

    Parameters

    Returns boolean

  • 检查棋子移动 双方将领在一条直线上 false 不危险 true 危险

    Returns

    是否危险

    Parameters

    • pl: PieceList

      假设移动后的棋子列表

    Returns boolean

  • 清除移动完选中的棋子

    Returns void

  • 根据当前棋子状态绘画 棋盘状态 游戏数据 画出布局

    Parameters

    • ctx: CanvasRenderingContext2D

      画布

    Returns void

  • 画棋盘

    Parameters

    • ctx: CanvasRenderingContext2D

    Returns void

  • 绘画上次移动点,可自行重写该函数

    Parameters

    • ctx: CanvasRenderingContext2D

      canvas 2d 渲染上下文

    Returns void

  • 游戏是否结束

    Returns boolean

  • 根据玩家返回绘画坐标轴的差值

    Returns

    Parameters

    • side: PieceSide

      玩家

    • key: "y" | "x"

      坐标轴

    Returns 0 | 8 | 9

  • 根据点击点返回所在棋盘上x,y的位置

    Returns

    返回棋盘的x,y坐标轴

    Parameters

    • p: Point

      点击点的 x,y 坐标

    Returns undefined | Point

  • 初始化象棋个数

    Returns void

  • 监听棋盘点击

    Parameters

    • e: MouseEvent

    Returns void

  • 监听棋盘点击

    Parameters

    • e: MouseEvent

    Returns void

  • 根据移动方的描述文字来进行移动棋子

    Returns

    移动结果

    Parameters

    • str: string

      文字

    • side: PieceSide

      移动方

    • refreshCtx: boolean

      是否每次移动都更新画布

    Returns Promise<UpdateResult>

  • 设置游戏窗口 棋盘 棋子大小

    Parameters

    • w: number
    • h: number
    • p: number

    Returns void

  • 获取所有格子的坐标

    Returns void

  • 设置上次移动状态

    Parameters

    • status: boolean

    Returns void

  • 游戏根据坐标点 移动点来进行更新游戏运行数据。

    Returns

    如果 postfalse, 请检查返回的结果 move 是否为 true ,为true表示有返回回调函数cb,只有调用 cb() 游戏状态才会更新

    如果 posttrue,程序会自己更新游戏状态 只需要判断 是否更新成功即可!

    Parameters

    • pos: Point

      坐标点

    • mov: null | Point

      移动点

    • side: PieceSide

      当前下棋玩家

    • post: boolean

      是否由程序自己更新游戏状态

    Returns UpdateResult

  • 游戏根据坐标点 移动点来进行更新游戏运行数据。这是一个返回一个promise结果,也表示 这个方法是异步的。

    Example

    const game = new ZhChess({...any})
    game.updateAsync(pos , mov, side, ()=> game.draw(ctx)) // 每次运动都去绘画一次

    Parameters

    • pos: Point

      坐标点

    • mov: null | Point

      移动点

    • side: PieceSide

      当前下棋玩家

    • refreshCtx: boolean

      是否每次运动后更新画布

    • Optional moveCallback: UpdateMoveCallback

      每次棋子数据更新后调用

    Returns Promise<UpdateResult>

Generated using TypeDoc