中国象棋
9×10 棋盘人机对弈,完整规则与三档 AI 难度。
常见问题
中国象棋的基本规则是什么?
什么是飞将?
三档难度有什么区别?
悔棋会退回几步?
使用步骤
- 选择难度
顶部提供简单、普通、困难三档,默认普通。切换难度会立即开新局,简单档贪吃带噪声,普通档搜索三层,困难档搜索五层。
- 点选再落子
点击己方红棋完成选中,合法落点会出现标记,再点目标格即可走子。轮到 AI 时状态栏显示思考中,稍候它会在棋盘上应一手。
- 将死或困毙获胜
先吃掉对方将帅的一方获胜,将帅无路可走同样判负。走子后如果对方被将军,状态栏会给出提示,此时必须应将而不能置之不理。
- 善用悔棋
点撤销会同时撤回 AI 的应手和你的上一手,回到轮到你走的局面。对局分出胜负后不能再悔棋,点新游戏开始下一局。
- 键盘操作
方向键移动光标,回车选中或落子,Esc 取消选中,U 键悔棋,N 键开新局。光标移到边界会停住,不会越出棋盘。
工具详细介绍
中国象棋的棋盘由九条竖线和十条横线组成,棋子摆在交叉点上,中间的楚河汉界把战场分成两半。双方各十六枚棋子,帅仕相马车炮兵各司其职,帅与士困在九宫之内,相与象不得过河,马走日字而象走田字。车走直线威力最大,炮隔子吃子,兵过了河才能横走。开局时双方子力相当,先手方略占主动,如何用有限的空间调度子力,是这盘棋最耐人寻味的地方。
本站版本由你执红先行,AI 执黑应战,全部规则在浏览器本地计算,不联网也不上传对局。引擎把每个局面转成子力价值加位置分的评分,再用负极大搜索配合 alpha-beta 剪枝向前推演。三档难度对应三层与五层搜索深度,界面提供回合数、被吃子列表与思考状态,胜负记录保存在浏览器本地,刷新后仍可查看。无论想认真练棋还是随手玩一局,打开页面就能开始。
原理与背景
象棋程序的主流框架是搜索加评估。引擎把棋盘编码成数组,对每个局面生成全部合法着法,再用负极大框架逐层推演。我方走一步后轮到对方,对方的最佳应对就是我方的最坏结果。alpha-beta 剪枝利用这条性质跳过不影响结论的分支,配合吃子优先的走法排序,实际搜索的节点数远小于原始树。评估函数由子力价值和位置分表组成,车的价值最高,过河兵与中路的马炮都会加分,将帅的安全则通过将军判定单独处理。
飞将是象棋特有的规则:将帅同列照面等于直接输棋,引擎把它处理成将军判定的一部分,任何走出照面的着法都会被合法性过滤拒绝。将死与困毙共用同一套判定,一方没有合法着法时对局立即结束,是否同时被将军只影响结算文案。搜索深度与节点预算相互配合,困难档在五层深度下限制搜索节点总量,保证低端设备也能在半秒内应手。剪枝效率越高,同样的预算就能看得越远。
典型使用场景
- 午休对弈
一局象棋短则几分钟长则十几分钟,不用注册也不用下载,打开页面就能和人机过两手。三档难度让输赢保持悬念,输了点新游戏就能再来,适合在工作间隙活动思路。
- 教孩子认棋
马蹩腿、象塞眼这些规则直观又有趣,孩子在棋盘上摆几局就能记住。简单档 AI 会漏吃漏防,孩子容易尝到赢棋的滋味,家长可以在旁边讲解各子的走法,等胜率上来了再切普通档加码。
- 复盘练棋
悔棋功能让试错零成本,走错一步撤回来重走,配合状态栏的将军提示,能看清每步棋带来的直接后果。对业余爱好者来说,这种即时反馈是自学棋理的轻量方式。
使用技巧
- 开局优先出动马炮,车要尽早通路,不要用同一子反复走动。
- 对手车炮露头时先看将门,护住九宫比贪吃一个兵更要紧。
- 马前留出马腿,象眼别被自己的子塞住,走子前看一眼落点。
- 残局留意将帅照面,主动把将门让开一格往往能反败为胜。
注意事项
- 只顾吃子
贪吃小兵丢掉先手是新手最常见的败因。对手弃子引离时先想一步它换来了什么,车炮被调离将门往往就是杀招的开始,吃子之前先看自己的将门。
- 忽视将门
九宫空虚时对方的卧槽马和沉底车随时能成杀,一次贪吃就可能换来绝杀。中局之后要留一手护士象的余量,被将军时不要慌乱应付,先找能同时解将又给自己留出路的着法。
- 乱送兵卒
开局阶段兵卒看似无关紧要,过河兵却能控制要道并策应马炮,价值远超一先棋。随手拱兵会白白让出阵地,对手的子力借机过河扎根,中局的主动权就会慢慢失控。