联机我感觉比较那啥,还是先实现人机对战靠谱,起码不用人格分裂自己跟自己下了.
国际象棋是可以联机玩的,lichess平台提供了对战api,自己用emacs画好界面调api连上去就可以联机对战了
刚刚实现了保存和加载棋局.
elisp 干这事简直不要太爽,只要把棋局当前状态包裹成为一个 lisp 对象,然后直接将其按输出格式写到文件中就 OK,加载的话,就将文件内容按 list 的读入语法加载到内存就行.
保存棋局执行 chess-cn–save 命令,会保存棋局文件到变量 chess-cn–saved-dir 指定目录下,以时间戳为文件名并以 .chess 为后缀. 该文件内容就是一个 list 对象,人眼可读.
加载棋局执行 chess-cn–load 命令,选择棋局文件即可,默认展开到 变量 chess-cn–saved-dir 指定目录下.
棋步历史和悔棋也搞定了,悔棋命令 chess-cn–undo (暂未绑定快捷键)
已添加将帅不可见面的规则。
搞定了将军判断以及将死判断(胜负判决).
1 个赞