中国象棋人机对战
你执红先行,点交叉点走子,电脑应一手并告诉你它为什么走那里——马腿被蹩、象眼被塞、将帅不能照面,规则都是它真拿来算的那套。棋局自动存在这台设备的浏览器里,可以悔一步、要提示、回看任意一步,下完还能一键回放整局,随时导出中文记谱的文本棋谱。不下载、不注册、不上传。
开一局你执红先行 · 困毙判负 · 60 回合无吃子判和 · 全程在你这台设备里算
对手正在算这一步……(全部在本地算,没有请求服务器)
棋谱用中文纵线记谱(炮二平五、马8进7),棋书和象棋软件都读得懂
这一页怎么用
- 选一个对手强度(第一次玩选「入门」),点棋盘上的红子——它会走的点会亮出来——再点亮着的点就走出去了;点错了再点一下原棋子取消。你执红先行,电脑应一手并在右边用大白话告诉你它为什么走那里;
- 盯着那句「为什么这么走」下棋:它吃你的子?回头看看是哪个子没被保护。它说「兑子不亏」?下次你也可以先算一算交换划不划算。照着这套「子力、位置、兵卒、护帅、悬子」的顺序检查自己每一步,比背套路长棋快;
- 下完(或者下砸了)点「回放这局」让整局自动重走一遍,或者用「行子与讲解」逐格回看,重点看自己输在哪里;想更进一步就点「复盘这一局」——棋谱自动带到「象棋复盘」页逐步分析哪几步亏了,也可以点「导出棋谱」存成文本文件。
记谱怎么读:红方汉字,黑方数字
中文纵线记法是棋书、教练和象棋软件通用的记谱法:红方用汉字数字(从红方的右边数起一到九),黑方用阿拉伯数字(从黑方的右边数起 1 到 9)。行子列表和导出的棋谱都用这套记法:
| 写法 | 意思 |
|---|---|
| 炮二平五 | 红炮从二路线平移到五路线——著名的「当头炮」,开局第一手最常见 |
| 马8进7 | 黑方 8 路马向前进到 7 路(黑方的「进」是朝红方走) |
| 车九进一 / 车六进九 | 「进」「退」按纵横格数报数;马、相、仕这类斜走的子报终点线位 |
| 前炮退二 | 同一条线上有两个同名子时用「前 / 后」区分,此时省去源线位 |
| 红 / 黑 | 你永远执红先行,电脑执黑后手 |
走法口诀,和电脑真拿来判的规则
「马走日、象走田、车走直路炮翻山」只是上半句,下半句的限制才是新手挨打的地方——这些限制电脑每一步都在算,页面上的解释也照这个口径说:
| 棋子 | 怎么走 | 新手最容易栽的限制 |
|---|---|---|
| 马 | 日字斜跳 | 蹩马腿:紧挨着马的两格方向上有子就跳不出去,页面会提示「没有合法走法——多半是马腿被蹩了」 |
| 相 / 象 | 田字斜飞 | 塞象眼:田字中心有子不能飞;且不能过河,只能守自己半场 |
| 仕 / 士 | 宫内斜走一步 | 永远不出九宫,一共只有五个落脚点 |
| 帅 / 将 | 宫内直走一步 | 王不见王:将帅同一条线上中间无子,等于直接被将——谁走出这种局面谁输 |
| 炮 | 平移如车,吃子隔一个炮架 | 没炮架时炮只是个「车样的弱子」,吃子必须隔一个子 |
| 兵 / 卒 | 过河前只进,过河后可横走 | 永远不能后退;过河之后价值翻好几倍 |
「为什么这么走」里的行话,就这一张表
电脑给每个着法打分用的就是这五项——它的嘴和它的脑子是同一套数据,页面上的解释不是事后编的:
| 它嘴里的词 | 什么意思 | 有多急 |
|---|---|---|
| 吃掉一个 X | 这一手白拿(或换到)对方一个子 | 子力是硬通货,先看清是不是「送吃换更贵」 |
| 将军 | 这一手直接威胁将帅 | 被将军必须先应将,其他什么都不用想 |
| 兵卒过了河 | 小兵推进到对方半场,从此能横着走 | 过河兵是残局的主角,能顶一个马的价值 |
| 点位更好 | 车马炮挪到了分位置表更高的点(河沿、卧槽位、卒林) | 位置是「未来的子力」,好点位迟早变实惠 |
| 宫门薄了 | 士象缺了或帅被逼出底线 | 护帅的子丢了,杀招就在路上 |
| 有子悬着没人保 | 这个子被对方盯着、没有保护 | 下一手它就没了——要么保,要么先手处理掉 |
如实说清楚的四件事
- 胜负口径按正式规则:无子可走判负(困毙算输,不是国际象棋那种逼和),将死也判负;六十回合没有吃子按和棋算。长将判负这类比赛细则这里不做,页面不冒充比赛棋盘;
- 三档对手都远不是职业棋力,这是刻意的——陪练要赢得不让人想摔键盘。入门档算得浅、会漏看抽将,就是为了让刚会走子的人也能赢下第一局;
- 导出的棋谱是中文纵线记法的文本(每行一手,括号里附 a1~i10 坐标),棋书、教练和象棋软件都读得懂。我们没把它冒充成国际象棋的 PGN——两种棋的记谱体系本来就不同;
- 棋局、战绩、偏好只存在你这台设备的浏览器里,电脑的每一步计算也在本地跑,服务器不知道你下到哪。
常见问题
怎么开始下?
选一个强度档,点棋盘上的棋子——它会的走法会亮出来——再点亮的点就走过去了;点错地方再点一下原棋子就取消。你执红先行,红下黑上。下到一半关掉页面,这局棋会自动存在浏览器里,回来接着下。
「为什么这么走」那句话是怎么来的?
电脑给每个着法打分时用的就是页面里列的那几项——子力、位置、兵卒过河、士象护帅、有没有子悬着被白吃。它挑了分最高的那步,页面就把这步在各处的得失翻成一句大白话。解释和着法是同一份数据算出来的,不是事后编的。
三档分别是什么水平?
入门:算得浅,还会漏看你的抽将、丢子,适合刚会走子的人;进阶:能算到三步以内的子力交换,兑子不亏、会防卧槽马这类常见杀;挑战:算四层,防得更严、更会抢先。三档都不是职业棋手,这是刻意的——陪练要赢得不让人想摔键盘。
规则完整吗?困毙怎么判?
走法按正式口径:马蹩腿、象塞眼且不过河、士帅不出宫、将帅不能照面、兵过河才能横走。无子可走判负(困毙算输,不是国际象棋那种逼和),被将死也判负;60 回合没有吃子按和棋算,避免无限磨下去。长将判负这类比赛细则这里不做,页面不冒充比赛棋盘。
棋局存在哪里?会被上传吗?
存在这台设备这个浏览器的 localStorage 里,不上传。电脑的每一步计算也全在你的浏览器里跑,服务器只负责把页面发给你,不知道你下到哪。换设备、换浏览器或清理数据这局就没有了——重要棋谱请点「导出棋谱」存成文本文件。
导出的棋谱是什么格式?
中文纵线记谱的文本文件:头部写结果与强度,往下每行一手(炮二平五、马8进7 这样)。这是棋书、教练、象棋软件通用的记谱法,谁都读得懂。我们没把它冒充成国际象棋的 PGN——两种棋的记谱体系本来就不同。这份棋谱粘到「象棋复盘」页(/study/zhongguo-xiangqi-fupan)还能逐步分析哪几步亏了,或者下完直接点「复盘这一局」自动带过去。
能两个真人共用一个棋盘下吗?
这一页只有人机对战。双人同屏、联网对弈、等级分都在后面独立部署的注册版里考虑,这里不放——因为它必然要存数据,和本栏目「不上传」的承诺冲突。想跟朋友面对面玩,导出棋谱或直接指着屏幕轮流点也够用。