返回 Chess

Arcade Whale 原创自主制作,免费畅玩

Chess

开发者
Arcade Whale
类型
棋类
发布于
更新于
平台
浏览器(电脑、手机、平板)
屏幕方向
竖屏或横屏
玩家
单人游戏
标签
#国际象棋#棋类#策略#发动机#经典#烧脑#双人#战术#将死#逻辑

玩法

电脑 点击棋子,再点击目标格 · H 提示 · U 悔棋 · M 关卡 · N 新对局 · P 暂停

触屏 轻点棋子,再轻点目标格

关于 Chess

游戏一开始呈现的不是空棋盘,而是一场战役:十六个关卡分布在四个场所,每个场所都有自己的对手。Pete 在阳光明媚的午后坐在公园长椅上下棋,Marta 在傍晚灯光下经营着街角咖啡馆,Viktor 是深夜国际象棋俱乐部的队长,The Grandmaster 则在宏伟大厅里等着决赛。每个场所都混合了三种关卡。让子对局会给对手让先:Pete 开局没有后,Marta 没有车,Viktor 没有马,The Grandmaster 没有兵,所以你在需要自己挣得优势之前,先学会如何把优势转化为胜势。谜题要求你从给定局面一步、两步或三步杀棋。残局则教你每位棋手都要掌握的技巧:王后杀王、王车杀王,以及在步数用完之前把兵走到升变。每个场所以与对手的一盘全力对局收尾,那个场所的对手使出全部实力,而引擎在明显败局时会认输,而不是让你在空旷的棋盘上追着它的王跑。

每一关最多值三颗星:赢棋一颗,不用提示一颗,不悔棋一颗。星星按关卡分别保存,所以你可以稍后回来重玩一关来刷更好的成绩,关卡地图 Stages 会显示每一关及其星数,以及哪些还锁着。难度的提升靠的是对手能看到多远,而不是随机变强:公园的对手只看一步,会把棋子留在被攻击的位置上,咖啡馆老板看两步,俱乐部队长绝不会白白送子,而 The Grandmaster 搜索三步深,完全没有失误。通关第十六关即完成战役;对阵四档引擎的自由对局则始终开放。

国际象棋无需介绍,但浏览器里的国际象棋游戏确实需要一样东西:一个真正会下棋的引擎。这里的走法生成不是“大概没错”,而是用 perft 检验过的。perft 是计算机国际象棋的标准正确性测试:程序数出到给定深度的所有合法走法序列,其数量必须与公布的常数完全一致。测试用了六个局面,之所以选它们,是因为它们合起来涵盖了王车易位、吃过路兵、升变、牵制和闪击将军,总共遍历了 11,024,485 个局面。只要有一条规则在任何地方出错,数量就对不上。无需安装,也不用注册账号,在电脑和手机的浏览器里都能运行。

引擎采用 alpha-beta 搜索和走法排序,从第 3 档起还加入了静态搜索。最后这一点比搜索深度更重要。没有它,引擎会在交换进行到一半时停止计算,以为自己刚吃掉一个车就是赢了,结果在它从未看过的那一步丢了后。静态搜索会一直跟着吃子走下去,直到局面平静下来,这就是为什么更强的档位不会白送你棋子。

共有四档,而且并不是同一个想法换个大数字重复四遍。第 1 档只看一步,然后故意从接近最佳的走法中挑选,所以它会犯初学者那样的错误,把棋子留在你能吃的地方,它的存在就是为了在你学习时被打败。第 2 档看两步,下得整洁,对松散的棋子毫不留情。第 3 档和第 4 档搜索得更深,并加入静态搜索,所以之前有效的战术会失效,你得制定真正的计划。

棋盘的设计原则是不让你去问“刚才发生了什么”。点击一枚棋子,它的合法走法就会出现:能走到的格子上是一个圆点,能吃的棋子周围是一个圆环,所以这两者是不同的形状,而不是同一种颜色的两种深浅。你或引擎最后走的一步会保持高亮,而你的王一旦被将军就会泛起红光。每一步都以真正的国际象棋记谱法记在可滚动的列表里,歧义处理得恰当,如果两匹马都能走到同一格,你会看到 Nbd2 和 Nfd2,而不是靠猜。当兵走到底线时,会询问你想升变成哪个棋子,因为有些局面里马才是正确答案,默默升后会替你做出这个决定。

棋子是画出来的,而不是打出来的。国际象棋字符在 Unicode 里确实存在,但每个操作系统画法不同,有些手机还把它们渲染成扁平的色块,所以基于它们的游戏会因打开者不同而看起来像不同的游戏;这里的棋子是画成轮廓分明的形状,在手机尺寸下也清晰可辨。棋盘下方有三个按钮:Hint 画出箭头指示一步好棋,Take back 退回到你的回合,让一次误点不至于输掉整盘,Stages 打开战役地图。在战役关卡里,提示或悔棋始终允许,只是会让该关失去对应的那颗星。对局以国际象棋对局应有的方式结束:将杀、逼和、五十步规则、三次重复局面,或者剩余子力不足以将杀,而不是在死局里无休止地拖下去。

Chess 技巧与攻略

  1. 先出子,再进攻

    前十步里,让两匹马和两个象离开底线,进行王车易位,并连通双车。第三步就让后出击,面对弱手能赢一个兵,面对其他人则会损失先手。这里的引擎会以带威胁的出子来惩罚过早的后出击。

  2. 用兵控制中心,用子占据中心

    中心的四个格子决定了棋子能去哪里。d4 和 e4 上的兵(执黑则是 d5 和 e5)给马和象最好的位置,而占据中心据点的马,比无处可攻的车更有价值。

  3. 每步棋之前,检查每个吃子和每个将军

    每次走棋前,问自己对手能吃什么、有哪些将军。俱乐部水平以下的大多数对局,决定胜负的是留着被吃的棋子,而不是计划。如果引擎刚走了一枚棋子,就问问它现在攻击什么,又不再保护什么。

  4. 领先时交换,落后时制造复杂

    多一个子时,交换棋子(不是兵)能让优势变成决定性的,也让残局变简单。子力落后时,保留后,让棋子靠近对方的王:引擎能毫无差错地转化干净的残局,但混乱的中局仍会给它出错的机会。

  5. 把三种残局背熟

    王兵对王(方格规则和对立),王车对王(框架法),以及 Lucena 和 Philidor 车残局,涵盖了你会遇到的大部分残局。知道它们,就知道什么时候该交换进入其中,什么时候该避开。

常见问题

战役是怎么玩的?

四个场所共有十六个关卡:公园、咖啡馆、国际象棋俱乐部和宏伟大厅,每个场所都有自己的对手。关卡混合了让子对局(对手开局少一枚棋子)、一步杀到三步杀的谜题,以及王车杀王之类的残局。赢下一关就能解锁下一关,每个场所以与其对手的一盘完整对局收尾。在第十六关击败 The Grandmaster,战役即完成。

星星怎么算?

每一关最多三颗星:赢棋一颗,不用提示一颗,不悔棋一颗。每一关会保留你的最佳成绩,所以重玩一关只会提高星数。提示和悔棋从不锁定,用了一次只是意味着这次尝试中该关拿不到三星。

怎么知道引擎遵守真正的规则?

走法生成用 perft 验证,这是计算机国际象棋的标准正确性测试:程序数出到固定深度的所有合法走法序列,总数必须与许多独立引擎一致认可的数字吻合。测试了六个局面,合起来涵盖王车易位、吃过路兵、升变、被牵制的棋子和闪击将军,总共 11,024,485 个局面。任何一条规则出错,数量就对不上,所以这是通过或不通过的事实,而不是观点。

怎么走棋?

点击或轻点一枚棋子,棋盘上就会显示它的合法走法,然后点击你想去的格子。圆点表示普通走法,圆环表示吃子,所以两者是不同的形状,而不只是不同的颜色。没有拖动操作,因为在手机上被拖动的棋子会压在你的手指下,遮住你瞄准的格子。

自由对局里该选哪一档?

如果你在学习,选第 1 档:它只看一步,然后故意从接近最佳的走法中选择,所以它会犯普通初学者的错误,把棋子留在被攻击的位置上。第 2 档是整洁的休闲对手。第 3 档和第 4 档搜索得更深,并加入静态搜索,这意味着它们在交换中不再白送棋子,通常到这一步,你就得开始制定计划,而不是被动应对了。

支持王车易位、吃过路兵和升变吗?

支持,三种都有,包括那些繁琐的细节:不能在被将军时、经过被攻击的格子或走到被攻击的格子上进行王车易位,吃过路兵只在兵走出两格后紧接着的那一步才合法,升变会询问你想要哪个棋子,而不是默认升后。这些正是 perft 测试要确认的规则,因为引擎最常在这些地方出现微妙的错误。

可以悔棋吗?

可以。Take back 按钮会退回到你的回合,所以一次误点不会让对局结束。每一步棋走出后,也会以标准国际象棋记谱法列在棋盘下方,当两枚同类棋子能走到同一格时会有恰当的区分,所以你可以回看发生了什么。

对局怎么会和棋?

逼和:轮到走棋的一方没有合法走法却没被将军;五十步规则:五十步内既没有吃子也没有走兵;三次重复局面:同一局面出现三次;以及子力不足:双方都没有足够的子力强制将杀,比如王对王、王加一个象或马,或者两个同色格的象。

来自博客

更多游戏