chess:象棋的联机对战平台和残局解题器

99 阅读1分钟

项目地址:码云

1. 联机对战

联机对战模块主要包含如下功能:

  1. 匹配对手,可以根据一定的策略来进行匹配,比如只匹配积分和自己相近的对手
  2. 象棋对战
  3. 悔棋、求和、认输

1.1. 匹配对手

本项目内置了两种匹配策略(相关接口:MatchStrategy):

  1. 任意:不对对手做任何要求
  2. 积分差不超过10:对手的积分与当前玩家的积分的差距不能超过10

项目中默认提供了3个玩家信息(相关接口:UserService):

  1. zs:积分为100
  2. ls:积分为70
  3. ww:积分为91

zsls均以任意策略进行匹配,此时这两个玩家能配对:

简单匹配

zsww均以积分差不超过10策略匹配,ls任意策略匹配,此时zsww能匹配成功:

复杂匹配

1.2. 象棋对战

象棋对战

1.3. 悔棋

悔棋

1.4. 求和

求和

1.5. 认输

认输

2. 残局解题器

  1. 本项目也能用于解决象棋残局(基于DFS算法),目前只支持一步杀的残局
  2. 实测可以解开天天象棋残局闯关中的第361到435关(除了部分关卡没法一步杀)
  3. 实测除了个别关卡比较耗时外,绝大部分关卡都能在1秒内给出解决方案
  4. snapshot文件记录了这些关卡的快照信息,可以通过它快速摆放出残棋的布局

2.1. 361关

361关

2.2. 362关

362关

2.3. 363关

363关

2.4. 364关

364关

2.5. 365关

365关