YQzQY
← Projects
Building

围之象棋 · Xiangqi-Go

以象棋行兵,以围棋成势。在同一张楚河汉界棋盘上,走子、落子、连块与提子交织;支持三档人机、同屏双人和房间联机。

  • JavaScript
  • SVG
  • Web Worker
  • SSE
  • SQLite
围之象棋实机画面:楚河汉界棋盘、象棋与黑白围棋子、双方棋钟和逐手记录

一盘棋,两种谋略

围之象棋将中国象棋与围棋融合在 9 × 10 棋盘上。每回合可以移动一枚象棋,或在空交叉点落下一枚围棋。己方象棋与围棋上下左右相连,共享气;围棋还能阻挡、蹩马腿、塞象眼和充当炮架。直接吃掉或围死对方将帅即可获胜。

独自推演,也能隔屏对弈

单机提供三档人机难度、红黑选边与同屏双人。AI 在 Web Worker 中进行有时间预算的 Alpha-Beta 搜索。联机通过房间入座和准备开局,提供双方棋钟、同房聊天、逐手棋谱与断线暂停重连。

原生网页实现

前端采用原生 JavaScript、SVG 棋盘与 Web Audio;Node.js 通过 HTTP 指令和 SSE 同步服务端权威棋局。账号、对局档案和设置保存在 SQLite,进行中的联机房间保存在单进程内存中。