48 int SaveStep(
int i,
int j,
50 const char* pDescript =
nullptr,
51 time_t tm = time(
nullptr));
55 int GetPreviouStep(
int &i,
int &j, CPiece::ENUM_QiZi &qz);
56 int GetNextStep(
int &i,
int &j, CPiece::ENUM_QiZi &qz);
58 time_t GetStartTime();
59 int SetStartTime(
const time_t &t);
61 int SetEndTime(
const time_t &t);
63 std::string GetRedName();
64 int SetRedName(
const char* pszName);
65 std::string GetBlackName();
66 int SetBlackName(
const char* pszName);
68 std::string GetTag(
const std::string &szpTag);
69 int AddTag(
const std::string &szTag,
const std::string &szVal);
71#define MAX_STRING_BUFFER 33
72#define APPNAME "Chinese chess control"
73#define AUTHOR "Author: Kang Lin (kl222@126.com)"
77 char szAppName[MAX_STRING_BUFFER];
78 char szAuthor[MAX_STRING_BUFFER];
86 char szRedName[MAX_STRING_BUFFER];
87 char szBlackName[MAX_STRING_BUFFER];
101 int SaveChessGame(
const char* pFileName);
102 int LoadChessGame(
const char* pFileName);
110 int SaveChessGamePgn(
const char* pFileName, _SavePgnFormat f = Chinese);
111 int LoadChessGamePgn(
const char* pFileName, _SavePgnFormat f = Chinese);
118 CPiece::ENUM_QiZi qz;
120 std::vector<strStartGame> m_StartGame;
122 static int CheckGame(
const CPiece::ENUM_QiZi board[][10]);
128 int GetStartGameBoard(CPiece::ENUM_QiZi board[][10]);
137 std::string szDescript;
139 typedef enum _ENUM_BianMa {
143 int QiZiBianMa(
int *i,
int *j, CPiece::ENUM_QiZi *qz, strCODE *pCode, ENUM_BianMa bianma = BianMa);
145 int WriteStringToFile(std::ofstream &o, std::string &s);
146 int ReadStringFromFile(std::ifstream &i, std::string &s);
150 std::vector<strStep> m_ChessGame;
154 std::string m_szRedName;
155 std::string m_szBlackName;
156 std::map<std::string, std::string> m_Tags;