中国象棋

9×10 棋盘人机对弈,完整规则与三档 AI 难度。

难度
回合0
步数0
胜0
负0

你吃掉的子

AI 吃掉的子

你执红棋在下,先行。点击己方棋子选中,再点击目标位置落子,成点会有标记提示。走完一步后如果对方被将军,状态栏会给出提示;被将死或无路可走的一方落败。键盘用方向键移动光标,回车选中或落子,Esc 取消选中,U 悔棋,N 开新局。悔棋会同时撤回 AI 的应手和你的上一手。

常见问题

中国象棋的基本规则是什么?
双方在 9×10 棋盘上轮流走子,先吃掉对方将帅或使对方无路可走的一方获胜。马走日但会被蹩腿,象走田不能塞眼也不得过河,士帅只在九宫内活动,兵过河后才能横走。
什么是飞将?
将帅在同一列直接照面而中间没有棋子时,走成这种局面的一方违法,等同于送将。所以把帅移到会被照面的位置是被禁止的,软件会直接拒绝这类走法。
三档难度有什么区别?
简单档贪吃带随机噪声,适合入门。普通档向前搜索三层,困难档搜索五层并配合 alpha-beta 剪枝与位置分表,同时限制节点数量保证应手速度。
悔棋会退回几步?
一次悔棋会同时撤回 AI 的最近应手和你的上一手,回到轮到你走的局面。分出胜负之后不能再悔棋,点新游戏开始下一局即可。

使用步骤

  1. 选择难度

    顶部提供简单、普通、困难三档,默认普通。切换难度会立即开新局,简单档贪吃带噪声,普通档搜索三层,困难档搜索五层。

  2. 点选再落子

    点击己方红棋完成选中,合法落点会出现标记,再点目标格即可走子。轮到 AI 时状态栏显示思考中,稍候它会在棋盘上应一手。

  3. 将死或困毙获胜

    先吃掉对方将帅的一方获胜,将帅无路可走同样判负。走子后如果对方被将军,状态栏会给出提示,此时必须应将而不能置之不理。

  4. 善用悔棋

    点撤销会同时撤回 AI 的应手和你的上一手,回到轮到你走的局面。对局分出胜负后不能再悔棋,点新游戏开始下一局。

  5. 键盘操作

    方向键移动光标,回车选中或落子,Esc 取消选中,U 键悔棋,N 键开新局。光标移到边界会停住,不会越出棋盘。

工具详细介绍

中国象棋的棋盘由九条竖线和十条横线组成,棋子摆在交叉点上,中间的楚河汉界把战场分成两半。双方各十六枚棋子,帅仕相马车炮兵各司其职,帅与士困在九宫之内,相与象不得过河,马走日字而象走田字。车走直线威力最大,炮隔子吃子,兵过了河才能横走。开局时双方子力相当,先手方略占主动,如何用有限的空间调度子力,是这盘棋最耐人寻味的地方。

本站版本由你执红先行,AI 执黑应战,全部规则在浏览器本地计算,不联网也不上传对局。引擎把每个局面转成子力价值加位置分的评分,再用负极大搜索配合 alpha-beta 剪枝向前推演。三档难度对应三层与五层搜索深度,界面提供回合数、被吃子列表与思考状态,胜负记录保存在浏览器本地,刷新后仍可查看。无论想认真练棋还是随手玩一局,打开页面就能开始。

原理与背景

象棋程序的主流框架是搜索加评估。引擎把棋盘编码成数组,对每个局面生成全部合法着法,再用负极大框架逐层推演。我方走一步后轮到对方,对方的最佳应对就是我方的最坏结果。alpha-beta 剪枝利用这条性质跳过不影响结论的分支,配合吃子优先的走法排序,实际搜索的节点数远小于原始树。评估函数由子力价值和位置分表组成,车的价值最高,过河兵与中路的马炮都会加分,将帅的安全则通过将军判定单独处理。

飞将是象棋特有的规则:将帅同列照面等于直接输棋,引擎把它处理成将军判定的一部分,任何走出照面的着法都会被合法性过滤拒绝。将死与困毙共用同一套判定,一方没有合法着法时对局立即结束,是否同时被将军只影响结算文案。搜索深度与节点预算相互配合,困难档在五层深度下限制搜索节点总量,保证低端设备也能在半秒内应手。剪枝效率越高,同样的预算就能看得越远。

典型使用场景

  1. 午休对弈

    一局象棋短则几分钟长则十几分钟,不用注册也不用下载,打开页面就能和人机过两手。三档难度让输赢保持悬念,输了点新游戏就能再来,适合在工作间隙活动思路。

  2. 教孩子认棋

    马蹩腿、象塞眼这些规则直观又有趣,孩子在棋盘上摆几局就能记住。简单档 AI 会漏吃漏防,孩子容易尝到赢棋的滋味,家长可以在旁边讲解各子的走法,等胜率上来了再切普通档加码。

  3. 复盘练棋

    悔棋功能让试错零成本,走错一步撤回来重走,配合状态栏的将军提示,能看清每步棋带来的直接后果。对业余爱好者来说,这种即时反馈是自学棋理的轻量方式。

使用技巧

  • 开局优先出动马炮,车要尽早通路,不要用同一子反复走动。
  • 对手车炮露头时先看将门,护住九宫比贪吃一个兵更要紧。
  • 马前留出马腿,象眼别被自己的子塞住,走子前看一眼落点。
  • 残局留意将帅照面,主动把将门让开一格往往能反败为胜。

注意事项

  • 只顾吃子

    贪吃小兵丢掉先手是新手最常见的败因。对手弃子引离时先想一步它换来了什么,车炮被调离将门往往就是杀招的开始,吃子之前先看自己的将门。

  • 忽视将门

    九宫空虚时对方的卧槽马和沉底车随时能成杀,一次贪吃就可能换来绝杀。中局之后要留一手护士象的余量,被将军时不要慌乱应付,先找能同时解将又给自己留出路的着法。

  • 乱送兵卒

    开局阶段兵卒看似无关紧要,过河兵却能控制要道并策应马炮,价值远超一先棋。随手拱兵会白白让出阵地,对手的子力借机过河扎根,中局的主动权就会慢慢失控。

相关工具