|
本帖最后由 宇智波·佐助 于 2019-2-18 10:23 编辑
易语言 QQ新中国象棋提示引擎 开发
录制一个晚上的视频
希望对开发小辅Zhu的朋友入门有些帮助!
中国象棋通用引擎协yi介绍
教程用到的引擎是旋风6.2 会打包
引擎调用和使用
1.通用引擎的使用
网站:http://www.xqbase.com/protocol/cchess_ucci.htm
UCCI引擎在启动后,有三种状态。
(1) 引导状态。 收到ucci只后,引擎要完成一系列初始化工作
(2) 空闲状态。 让引擎思考(go指令)(定义棋盘)
(3) 思考状态。 A. 中止思考(stop指令),B. 改变思考方式(ponderhit指令)。
FEN文件格式:http://www.xqbase.com/protocol/cchess_fen.htm
着法表示: http://www.xqbase.com/protocol/cchess_move.htm
总结指令 启动引擎 ucci 不需要
定义棋盘 position fen +(棋盘文本)
让引擎思考 go increment 0(表示无限制思考(直到找到杀棋或用stop指令中止))
用户定义时间(延迟)3 5 10
中止思考(stop指令) 要等到引擎反馈bestmove或nobestmove后才表示回到空闲状态
读出最优的棋盘
2.匿名管道通讯(已封装好类)
创建管道
读管道
清空管道文本
写管道
结束管道
3.QQ中国象棋内存分析
判断游戏是否开始 004AD8E4 1代表游戏开始 0代表游戏结束
获取当前步数 004ACD9C 总步数
是否到我们下 004AD8F8 0是对面下 1是我们下
判断是否在左边 004AD8F4 1是左边 0是右边
读棋盘 棋盘文本替换整理
4.gdi绘图 (不是很懂学习中.解决不了闪烁的问题)
GetDC 取设备场景
CreateCompatibleDC 创建内存场景
ReleaseDC 释放设备场景_
DeleteDC 删除设备场景_
5.流程整理
|
评分
-
查看全部评分
|