Skip to content

zhc7/flamechess-package

Repository files navigation

Flamechess Tools

这个包包含鹿棋(捉鳖)棋谱播放器、棋谱记录器,以及后续大部分的flamechess中的python部分

1 简介

1.1 安装方法

  • 命令行输入pip install flamechess

*这个文档正在完善中......

2 具体模块介绍

2.1 棋谱记录器

2.1.1 使用方法

  • 直接运行:按照指示输入code1code2
  • 作为引用或在命令行:调用main函数,参数为code1, code2

2.1.2 程序结构

  • ChessBoard类用于获取和设置棋盘
  • tpe函数用于判断棋盘码类型并选择API
  • Recorder类用于作为记录器,记录棋谱
  • main函数作为入口函数调用Recorder类执行相关操作

2.2 鹿棋(捉鳖)棋谱播放器

2.2.1 使用方法

2.2.1.1 棋谱写法
  • 奇数行写局面
  • 偶数行写策略
  • 0代表空,Z代表后行者,z代表先行者
2.2.1.2 config.ini写法
  • section名称为棋类的名称,推荐使用英文或拼音,提高兼容性
  • 具体需要的参数:
参数名称 可设置的值 意义
chess_type luqi/zhuobie/... 同section名
policy_file *.txt 棋谱策略文件名
board_size [int, int] 棋盘大小
reading_size [int, int] 要读取的区域的大小
mirror True/False 是否镜像
rotation True/False 是否旋转
read_continuously True/False 是否采用连续读取方式
2.2.1.3 启动方法
  • 直接运行:按照指示输入棋的类型和棋盘码
  • 作为引用或在命令行:调用main函数,参数为棋的类型(chess_type)和棋盘码(code

2.2.2 程序结构

  • State类是棋盘状态的基类
  • Board类负责执行主要操作
    *详情请见注释

2.2.3 引用

  • 引用了play.py中的ChessBoardtpe,用于获取和设置棋盘

2.3 久棋规则

  • 未完成的部分

2.4 蒙特卡洛树搜索算法

  • Tree类是接口类,game参数用于传入规则

2.5 捉鳖策略器

  • 根据蒙特卡洛树搜索算法制作的捉鳖策略器
  • 依赖于chessTerm平台

2.5.1 使用方法

  • 使用main函数并传入userId

3 更新日志

  • 0.1.0 最初版本
  • 0.1.1 解决了README.md不能渲染的bug
  • 0.1.2 彻底解决了README.md不能渲染的bug
  • 0.1.3 更新了README.md和url
  • 0.1.4 修复了一些已知问题,删除了不该出现的文件
  • 0.2.0 将luqi.py的棋盘接口改为了chessTerm的websocket接口,对README.md进行了一些修改完善,修复了若干已知问题
  • 0.2.1 删除luqi.py的log记录
  • 0.3.0 加入了蒙特卡洛树搜索算法(MCTS.py),并依此做出了zhuobie_player.py