[SOLVED] 代写 C 象棋数据存储格式 Chinese Chess Data Format

30 $

File Name: 代写_C_象棋数据存储格式_Chinese_Chess_Data_Format.zip
File Size: 555.78 KB

SKU: 5428094561 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


象棋数据存储格式 Chinese Chess Data Format
(用于 CS102A Fall 2019 课程项目) 当前版本:v2.4 (更新于 11/24)
综述
本文件描述了一种存储象棋棋局及棋谱的文件格式。
在实现「中国象棋」应用程序时,请遵守此格式规范,以便在不同实现间交换棋局、棋谱及学助对程序
的测试。
编码和换行要求:所有文件使用 UTF-8 编码存储,所有换行均为
棋子表示
使用单个英文字符表示棋子,黑方大写,红方小写。具体见下表。
(UNIX 换行格式)。
棋子
英文助记
黑方(大写)
红方(小写)
將/帥
[G]eneral
G
g
士/仕
[A]dvisor
A
a
象/相
[E]lephant
E
e
馬/傌
[H]orse
H
h
車/俥
[C]hariot
C
c
砲/炮
Ca[N]non
N
n
卒/兵
[S]oldier
S
s
元数据
在文件头部可存储元数据,以提供更丰富的信息。
1. 每行元数据以 @ (at) 开始,格式遵循 @[key]=[value] 的键值对 2. 元数据区段以 @@ (2个at) 结束
3. 结束元数据后,应新开一行,再开始文件的主体内容。
注释
在文件中插入注释。注释以 # 开始, # 后至下一个换行的内容为注释。 对于注释,解析时不需要处理,跳过即可。
n

示例如下。
1 2 3
——— # 这是楚河汉界 @LAST_MOVER=BLACK # 最后一次移动方为黑方 # 这是长度为一整行的注释
棋局 (.chessboard) 基本按照实际的棋局显示存储,以便于人类可读。
1. 必须元数据: LAST_MOVER 最后一步的行棋方,其取值为 BLACK 或 RED 2. 可选元数据:可以根据自己的应用程序要求,自行增加其他元数据
棋局本身
1. 存在棋子的位置,使用「棋子表示」一节中的棋子表示 2. 不存在棋子的位置,使用 . (dot)
3. 楚河汉界,使用 ——— (9个dash)
4. 以一个新行结束棋局。
加载棋局
1. 先读取棋局文件中的元数据,根据自己应用程序的需要进行处理
2. 读取棋局本身,注意校验棋局合法性
对于错误(Invalid)的棋局,应该向用户进行提示,并说明具体问题、文件名、行号,且停止加 载过程。以下为一些可能出现的异常情况。
a. 棋局长宽错误 (Invalid Dimension)
b. 楚河汉界缺失 (River Missing)
c. 棋子数量错误 (Invalid Chess Amount):某方 / 某兵种较开局时棋子数量增多 d. 空白符丢失 (Space Missing)
3. 棋局正常加载完成,需提示用户加载已完成(弹框,命令行输出,或图形界面棋局加载皆可)
示例

棋局图片
存储文本图片
棋谱 (.chessmoveseq)
按照行棋顺序从上至下存储。
元数据
1. 必须元数据: TOTAL_STEP 文件中描述的总行棋行数
2. 可选元数据:可以根据自己的应用程序要求,自行增加其他元数据
棋谱
1. 每行按照如下规则: [初始本方x] [初始本方y] [目标本方x] [目标本方y]
2. 坐标系原点:对黑方为棋盘左上角,对红方为棋盘右下角,原点坐标 (1,1)
3. 所有行棋结束后,以一个新行结束文件。
4. 解析:默认解析至文件结束,遇到无效步骤,应跳过无效步骤继续执行,并提示用户无效步骤的具
体位置和内容。
加载棋谱
同「棋局 – 加载棋局」节 1 ~ 3 条。
可能出现的错误情况:
a. 位置在边界外 (Position Out Of Range)
b. 起始位置无棋子 / 无本方棋子 / 非本方目标类型棋子 (Invalid From Position) c. 目标位置存在本方棋子 (Invalid To Position)
d. 行期棋子移动非法 (Invalid Move Pattern)

示例
红:兵七进一: 7 4 7 5 黑:炮2平3: 2 3 3 3 存储示例
1 2 3 4 5 6
@TOTAL_STEP=2
@@
7475 2333
对应棋局变化
初始状态
红:兵七进一
黑:炮2平3

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] 代写 C 象棋数据存储格式 Chinese Chess Data Format
30 $