Protected animateProtected black黑色棋子背景颜色
Protected black黑棋子字体颜色
#000
Protected board棋盘线条颜色
#000
Protected cancel清除动画方法
Protected checkerboard棋盘背景颜色
Protected choose选中的棋子边框颜色
Protected choose当前选中的棋子
Protected Optional ctx背景 和 线条 二维操作上下文
Protected current当前走棋方
Protected draw棋子运动速度时长 毫秒单位
Protected endX棋盘绘制末尾 x 值
Protected endY棋盘绘制末尾 y 值
Protected error游戏运行报错事件列表
Protected game当前游戏方
Protected game游戏进行状态
Protected grid玩家 x轴 格子距离相差
Protected grid玩家 y轴 格子距离相差
Protected grid象棋格子高度
Protected grid存放棋盘格子的所有坐标
Protected grid象棋格子宽度
Protected height游戏窗口高度
Protected last上次移动象棋:棋盘上的上一次移动棋子
Protected last上次移动点:棋盘上移动棋子移动前的位置坐标点
Protected live当前棋盘上存活的棋子
Protected log游戏日志监听事件列表
Protected move游戏移动监听事件列表
Protected move游戏移动失败监听事件列表
Protected moveProtected over游戏结束监听事件列表
Protected radius象棋半径
Protected red红色棋子背景颜色
Protected red红棋子字体颜色
#c1190c
Protected scale画布缩放大小
1
Protected startX棋盘绘制起始 x 值
Protected startY棋盘绘制起始 y 值
Protected width游戏窗口高度
Protected winner赢方
获取当前象棋绘制半径
Protected changeProtected checkProtected check棋子运动前检查游戏状态是否可以运动
是否可以运动
根据某方移动棋子判断自己将领是否安全
是否安全
移动方
移动棋子
是去吃棋子还是移动棋子
当前棋盘列表
Optional board: BoardProtected checkProtected clearProtected draw请使用 isGameOver
批量生成指定方所有存活棋子的合法走法列表(AI 搜索可直接使用)
与 generateMoves 的区别在于:本接口对每个伪合法走法执行 送将检测(checkGeneralInTrouble),只返回走子后己方将帅 不会被攻击、也不会与敌方将帅对脸的走法。
内部仅构建一次棋盘位表,全部棋子复用;送将检测同样复用该位表做 增量模拟(双槽位),无额外棋盘分配,适合搜索树热路径。
扁平化的合法走法列表,每个走法包含起止点与被吃子信息:
{ from: Point, to: Point, captured: ChessOfPeice | null }
玩家方,"RED" 或 "BLACK"
批量生成指定方所有存活棋子的伪合法走法列表(AI 搜索入口)
内部仅构建一次棋盘位表并交由本方全部棋子复用,比逐个调用
getMovePoints(pl)(每次调用都重建位表)在搜索类场景下更高效。
注意:该接口返回的是伪合法走法,不包含送将过滤(允许走出 后己方将帅暴露在被吃/对脸的局面)。需要严格合法走法请使用 generateLegalMoves。
该方存活棋子按其在本方棋子序列中的顺序对应的走法列表数组;
第 i 个元素对应第 i 枚属于该方的棋子,可结合
currentLivePieceList.filter(p => p.side === side) 对齐棋子与走法
玩家方,"RED" 或 "BLACK"
Protected getProtected get获取指定方当前存活的棋子列表(内部仍做浅拷贝,避免外部修改内部状态)
与 currentLivePieceList 相比省去了手动 filter,且可配合
generateMoves 直接对齐棋子与走法。
玩家方,"RED" 或 "BLACK"
Protected initProtected init根据移动方的描述文字来进行移动棋子
移动结果
文字
移动方
根据移动方的描述文字来进行移动棋子
移动结果
文字
移动方
是否每次移动都更新画布
象棋事件监听
监听事件
监听函数
移除象棋事件监听
监听事件
监听函数
Protected setProtected setProtected setProtected set游戏根据坐标点 移动点来进行更新游戏运行数据。
如果 post 为 false, 请检查返回的结果 move 是否为 true ,为true表示有返回回调函数cb,只有调用 cb() 游戏状态才会更新
如果 post 为 true,程序会自己更新游戏状态 只需要判断 是否更新成功即可!
游戏根据坐标点 移动点来进行更新游戏运行数据。这是一个返回一个promise结果,也表示 这个方法是异步的。
const game = new ZhChess({...any})
game.updateAsync(pos , mov, side, ()=> game.draw(ctx)) // 每次运动都去绘画一次
坐标点
移动点
当前下棋玩家
是否每次运动后更新画布
Optional moveCallback: UpdateMoveCallback每次棋子数据更新后调用
Generated using TypeDoc
动画方法