全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
qq象棋棋谱格式详解及其解析用qq游戏大厅里带的那个象棋游戏看起来很不爽,而且它导出的棋谱是左右颠倒的。以下是用记事本打开qq象棋棋谱文件经过一番观察后得出的结论:下面是一份完整的che格式的文件:1 62 21 32 1 0 1 2 2 0 1 0 10 32 0 7 7 7 4 0 2 0 26 32 1 2 7 2 5 0 3 0 6 32 0 9 7 7 6 0 4 0 17 32 1 0 3 1 4 0 5 0 1 32 0 9 3 8 4 0 6 0 30 32 1 3 6 4 6 0 7 0 8 32 0 9 8 9 7 0 8 0 22 32 1 0 7 2 6 0 9 0 5 32 0 9 1 7 2 0 10 0 22 32 1 2 6 4 5 0 11 0 13 32 0 6 4 5 4 0 12 0 28 32 1 3 2 4 2 0 13 0 9 32 0 7 1 7 0 0 14 0 25 32 1 2 1 6 1 0 15 0 8 32 0 9 7 5 7 0 16 0 22 32 1 4 5 5 3 0 17 0 5 32 0 7 2 6 4 0 18 0 25 32 1 6 1 6 4 0 19 0 6 32 0 7 6 6 4 0 20 0 22 32 1 5 3 7 4 0 21 0 3 32 0 9 2 7 4 0 22 0 23 32 1 0 0 0 1 0 23 0 14 32 0 6 6 5 6 0 24 0 21 32 1 2 2 4 3 0 25 0 6 32 0 6 4 7 6 0 26 0 30 32 1 4 6 5 6 0 27 0 8 32 0 5 7 5 6 0 28 0 19 32 1 0 2 2 4 0 29 0 9 32 0 7 0 3 0 0 30 0 21 32 1 4 3 6 2 0 31 0 9 32 0 3 0 3 2 0 32 0 21 32 1 6 2 4 3 0 33 0 7 32 0 9 0 9 3 0 34 0 23 32 1 0 1 0 3 0 35 0 8 32 0 5 6 3 6 0 36 0 24 32 1 0 8 0 7 0 37 0 8 32 0 3 6 3 4 0 38 0 24 32 1 0 7 7 7 0 39 0 8 32 0 3 4 3 6 0 40 0 26 32 1 2 5 4 5 0 41 0 13 32 0 5 4 4 4 0 42 0 26 32 1 4 5 4 6 0 43 0 13 32 0 4 4 4 3 0 44 0 24 32 1 7 7 7 6 0 45 0 8 32 0 3 6 3 5 0 46 0 28 32 1 4 2 5 2 0 47 0 9 32 0 3 2 3 4 0 48 0 28 32 1 5 2 6 2 0 49 0 13 32 0 4 3 3 3 0 50 0 26 32 1 4 6 4 4 0 51 0 13 32 0 3 3 2 3 0 52 0 23 32 1 0 3 0 1 0 53 0 8 32 0 3 5 4 5 0 54 0 23 32 1 0 1 4 1 0 55 0 13 32 0 2 3 1 3 0 56 0 26 32 1 4 4 4 3 0 57 0 8 32 0 4 5 4 3 0 58 0 23 32 1 4 1 4 3 0 59 0 7 32 0 9 3 4 3 0 60 0 17 32 1 1 4 2 3 0 61 0 9 32 0 3 4 0 4 0 62 0 把这些数据保存到文本文件中再把后缀名改为che就可以用qq象棋程序打开。其中第一个1无意义,第二个数字62表示棋谱总共有多少步数。接下来可以发现32出现多次,而且间隔一都是10。所以从文件的第三个数字21开始每10个数字一组分组,然后和记录下来的棋谱相比,有以下规律:21 32 1 0 1 2 2 0 1 010 32 0 7 7 7 4 0 2 0这是前两组。每组的第一个数表示是哪个棋子,如21表示马,10表示炮。经过与记录下的棋谱对比后发现:若是黑方走子,则:0(将);1,2(士);3,4(象);5,6(马);7,8(车);9,10(炮);11,12,13,14,15(卒)。若是红方走子,则:16(帅);17,18(士);19,20(相);21,22(马);23,24(车);25,26(炮);27,28,29,30,21(兵)。每组的第二个数字不变,总为32。每组第三个数字表示此步走子为红方还是黑方,1代表红方,0代表黑方。每组第四,五,六,七个数字表示源位置和目标位置的坐标。每组第八个数字总是0。每组第九个数字表示是棋谱中的第几步走子。第十个数字也总是为0。于是,根据以上分析,可得出qq棋谱文件格式的数据结构:#define QQRED 1#define QQBLACK 0typedef struct tagQQFileHeader . int id; / 一个整数,无意义 int totalMove; / 棋谱的总步数 QQFILEHEADER;typedef struct tagQQMoveCommand . int chessManName; int reserved; / 值为32 int redBlack; / 1 表示红方,0 表示黑方 int xSrc; int ySrc; int xDst; int yDst; int reserved2; / 值为0 int order; / 处于总棋谱中的第几步 int reserved3; / 值为0 QQMOVECOMMAND;以下解析qq棋谱的程序便轻而易举。上述数据实际上描述的棋谱为:马八进七 炮平 炮二平四 马进 土六进五 土进 兵三进一 车平 马二进三 马进 马三进四 卒进 兵七进一 炮平 炮八进四 车进 马四进六 马进 炮八平五 马进 马六进五 象进 车九平八 卒进 马七进六 马退 兵三进一 车平 相七进五 炮进 马六进七 炮平 马七退六 车平 车八平六 车进 车一平二 车平 车二进七 车平 炮四进二 卒进 炮四平三 卒平 车二平三 车平 兵七进一 炮
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48115-2026GNSS掩星探测载荷技术条件
- Snort入侵检测系统性能评估课程设计
- 基于机器视觉的尺寸测量系统评估课程设计
- 财会培训定制化课程设计
- 猜游戏c语言课程设计
- 劳动保障协理员安全检查水平考核试卷含答案
- 基于OpenCV的人脸追踪方案课程设计
- 差动放大器课程设计
- 直流电机PID调速控制课程设计
- 财会分析培训课程设计
- 贵州省望谟县2025年上半年公开招聘城市协管员试题含答案分析
- DB11T 593-2025 高速公路清扫保洁质量与作业要求
- 中国石油和化工勘察设计协会电气设计专业委员会公告2025版
- 癫痫的中医护理
- 从蒙古族文化生活中挖掘中学物理实验资源:开发应用与成效探究
- CJ/T 107-2013城市公共汽、电车候车亭
- 医院会计笔试题目及答案
- 生物安全二级实验室操作规范培训
- 密闭空间作业安全管理规定
- DLT 572-2021 电力变压器运行规程
- 《初中七年级新生家长会》课件模板(五套)
评论
0/150
提交评论