中国象棋控件 v2.0.13
载入中...
搜索中...
未找到
Public 类型 | Public 成员函数 | Protected 类型 | Protected 成员函数 | Protected 属性 | 所有成员列表
CChineseChess类 参考abstract

中国象棋类 更多...

#include <ChineseChess.h>

类 CChineseChess 继承关系图:
CChineseChessView CFrmChineseChess

Public 类型

enum  _ENUM_BoardLayout {
  NoQi = 0 , OnlyTopBlack = 1 , OnlyBottomRed = 2 , SwapRedBetweenBlack = 4 ,
  OnlyTopRed = OnlyBottomRed | SwapRedBetweenBlack , OnlyBottomBlack = OnlyTopBlack | SwapRedBetweenBlack , TopBlackAndBottomRed = OnlyTopBlack | OnlyBottomRed , TopRedAndBottomBlack = TopBlackAndBottomRed | SwapRedBetweenBlack
}
 标准棋盘布局:详见《象棋竞赛规则(2011)》第一章 第1条。红棋在下,黑棋在上。 界面可以支持非标准棋盘布局(红在上,黑在下) 更多...
 
typedef enum CChineseChess::_ENUM_BoardLayout ENUM_BoardLayout
 标准棋盘布局:详见《象棋竞赛规则(2011)》第一章 第1条。红棋在下,黑棋在上。 界面可以支持非标准棋盘布局(红在上,黑在下)
 

Public 成员函数

int SetBoardLayout (ENUM_BoardLayout layout)
 
ENUM_BoardLayout GetBoardLayout ()
 
bool GoChess (int i, int j, bool bNext=false)
 走棋
 
int NextStep ()
 函数名:NextStep 功 能:下步棋 参 数:无 返回值:走棋步数 作 者:康 林 版 本:1.0.0.1 日 期:2004-10-5 时 间:10:19:33
 
int PreviouStep ()
 函数名:PreviouStep 功 能:上步棋 参 数:无 返回值:走棋步数 作 者:康 林 版 本:1.0.0.1 日 期:2004-10-5 时 间:10:19:51
 
virtual int SaveChessGame (const char *pszFile)
 保存棋局。 根据文件扩展名来保存为相应的格式。 当前支持自定义格式、PGN格式
 
virtual int LoadChessGame (const char *pszFile)
 加载棋局。 根据文件扩展名来解析文件的格式。 当前支持自定义格式、PGN格式
 
time_t GetStartTime ()
 
int SetStartTime (const time_t &t)
 
time_t GetEndTime ()
 
int SetEndTime (const time_t &t)
 
std::string GetRedName ()
 
int SetRedName (const char *pszName)
 
std::string GetBlackName ()
 
int SetBlackName (const char *pszName)
 
std::string GetGameTag (const std::string &tag)
 
int AddGameTag (const std::string &szTag, const std::string &szVal)
 
int EnablePromptSound (bool sound=true)
 
bool getEnablePromptSound ()
 
int EnablePromptMessage (bool bMsg=true)
 
bool getEnablePromptMessage ()
 

Protected 类型

enum  PROMPT_SOUND {
  JiangJun , Eat , Go , NoGo ,
  Select
}
 提示音 更多...
 
enum  _ENUM_WalkState { RedReadly , RedWalked , BlackReadly , BlackWalked }
 
typedef enum CChineseChess::_ENUM_WalkState ENUM_WalkState
 

Protected 成员函数

virtual int onPromptSound (PROMPT_SOUND sound=NoGo)=0
 
virtual int onPromptMessage (CGoRule::ENUM_ReturnValue val)=0
 提示错误消息
 
virtual int onCleanPrompt (int i, int j)=0
 清除提示框
 
virtual int onDrawPrompt (int i, int j)=0
 画提示框
 
virtual int onGoChess (int i, int j, CPiece::ENUM_QiZi chess)=0
 走棋事件
 
int CleanPrompt (int &i, int &j)
 清理提示,并把提示框位置设置成无效值
 
bool IsValidPosition (int i, int j)
 
int Initial ()
 
int ConvertQiPang (const int &i, const int &j, int &x, int &y)
 

Protected 属性

CPiece::ENUM_QiZi m_ChessBoard [9][10]
 棋盘描述
 
ENUM_BoardLayout m_BoardLayout
 
ENUM_WalkState m_WalkState
 
int m_PreviouPositionX
 
int m_PreviouPositionY
 
int m_CurrentPositionX
 
int m_CurrentPositionY
 

详细描述

中国象棋类

界面部分由相应的界面派生类实现相应的虚拟函数

参见
CPiece CGoRule CChessGame
作者
康林 kl222.nosp@m.@126.nosp@m..com
日期
2020/5/17

在文件 ChineseChess.h30 行定义.

成员类型定义说明

◆ ENUM_BoardLayout

标准棋盘布局:详见《象棋竞赛规则(2011)》第一章 第1条。红棋在下,黑棋在上。 界面可以支持非标准棋盘布局(红在上,黑在下)

参见
CChessGame

成员枚举类型说明

◆ _ENUM_BoardLayout

标准棋盘布局:详见《象棋竞赛规则(2011)》第一章 第1条。红棋在下,黑棋在上。 界面可以支持非标准棋盘布局(红在上,黑在下)

参见
CChessGame

在文件 ChineseChess.h39 行定义.

◆ _ENUM_WalkState

enum CChineseChess::_ENUM_WalkState
protected

在文件 ChineseChess.h158 行定义.

◆ PROMPT_SOUND

提示音

在文件 ChineseChess.h104 行定义.

构造及析构函数说明

◆ CChineseChess()

CChineseChess::CChineseChess ( )

在文件 ChineseChess.cpp7 行定义.

◆ ~CChineseChess()

CChineseChess::~CChineseChess ( )
virtual

在文件 ChineseChess.cpp14 行定义.

成员函数说明

◆ AddGameTag()

int CChineseChess::AddGameTag ( const std::string &  szTag,
const std::string &  szVal 
)

在文件 ChineseChess.cpp543 行定义.

◆ CleanPrompt()

int CChineseChess::CleanPrompt ( int &  i,
int &  j 
)
protected

清理提示,并把提示框位置设置成无效值

作者
KangLin(kl222.nosp@m.@126.nosp@m..com)
日期
2020/5/17
参数
inti:当前提示框的位置,横坐标[0-8]
intj:当前提示框的位置,纵坐标[0-9]
返回
An int. 0:成功;非零:失败

在文件 ChineseChess.cpp163 行定义.

◆ ConvertQiPang()

int CChineseChess::ConvertQiPang ( const int &  i,
const int &  j,
int &  x,
int &  y 
)
protected

在文件 ChineseChess.cpp548 行定义.

◆ EnablePromptMessage()

int CChineseChess::EnablePromptMessage ( bool  bMsg = true)

在文件 ChineseChess.cpp141 行定义.

◆ EnablePromptSound()

int CChineseChess::EnablePromptSound ( bool  sound = true)

在文件 ChineseChess.cpp130 行定义.

◆ GetBlackName()

std::string CChineseChess::GetBlackName ( )

在文件 ChineseChess.cpp513 行定义.

◆ GetBoardLayout()

CChineseChess::ENUM_BoardLayout CChineseChess::GetBoardLayout ( )

在文件 ChineseChess.cpp26 行定义.

◆ getEnablePromptMessage()

bool CChineseChess::getEnablePromptMessage ( )

在文件 ChineseChess.cpp147 行定义.

◆ getEnablePromptSound()

bool CChineseChess::getEnablePromptSound ( )

在文件 ChineseChess.cpp136 行定义.

◆ GetEndTime()

time_t CChineseChess::GetEndTime ( )

在文件 ChineseChess.cpp533 行定义.

◆ GetGameTag()

std::string CChineseChess::GetGameTag ( const std::string &  tag)

在文件 ChineseChess.cpp538 行定义.

◆ GetRedName()

std::string CChineseChess::GetRedName ( )

在文件 ChineseChess.cpp503 行定义.

◆ GetStartTime()

time_t CChineseChess::GetStartTime ( )

在文件 ChineseChess.cpp523 行定义.

◆ GoChess()

bool CChineseChess::GoChess ( int  i,
int  j,
bool  bNext = false 
)

走棋

函数名:GoChess 功 能:走棋 参 数: int i:棋盘格横坐标[0-8] int j:棋盘格纵坐标[0-9] bool bNext: TRUE:复盘;FALSE:正常下棋 区别是:正常下棋,保存着法到棋局中。 复盘则不保存 返回值:成功返回true,否则返回false。 作 者:康 林 版 本:1.0.0.1 日 期:2004-10-5 时 间:10:17:56

作者
KangLin(kl222.nosp@m.@126.nosp@m..com)
日期
2020/5/17
参数
inti:当前下棋的位置,横坐标[0-8]
intj:当前下棋的位置,纵坐标[0-9]
bNext(Optional) 指示是否是在NextStep中调用 如果是在 NextStep 中调用,则是在复盘 如果不是。则是在正常下棋
返回
True if it succeeds, false if it fails.

在文件 ChineseChess.cpp189 行定义.

◆ Initial()

int CChineseChess::Initial ( )
protected

在文件 ChineseChess.cpp17 行定义.

◆ IsValidPosition()

bool CChineseChess::IsValidPosition ( int  i,
int  j 
)
protected

在文件 ChineseChess.cpp121 行定义.

◆ LoadChessGame()

int CChineseChess::LoadChessGame ( const char *  pszFile)
virtual

加载棋局。 根据文件扩展名来解析文件的格式。 当前支持自定义格式、PGN格式

在文件 ChineseChess.cpp470 行定义.

◆ NextStep()

int CChineseChess::NextStep ( )

函数名:NextStep 功 能:下步棋 参 数:无 返回值:走棋步数 作 者:康 林 版 本:1.0.0.1 日 期:2004-10-5 时 间:10:19:33

在文件 ChineseChess.cpp367 行定义.

◆ onCleanPrompt()

virtual int CChineseChess::onCleanPrompt ( int  i,
int  j 
)
protectedpure virtual

清除提示框

CChineseChessView , 以及 CFrmChineseChess 内被实现.

◆ onDrawPrompt()

virtual int CChineseChess::onDrawPrompt ( int  i,
int  j 
)
protectedpure virtual

画提示框

CChineseChessView , 以及 CFrmChineseChess 内被实现.

◆ onGoChess()

virtual int CChineseChess::onGoChess ( int  i,
int  j,
CPiece::ENUM_QiZi  chess 
)
protectedpure virtual

走棋事件

CChineseChessView , 以及 CFrmChineseChess 内被实现.

◆ onPromptMessage()

virtual int CChineseChess::onPromptMessage ( CGoRule::ENUM_ReturnValue  val)
protectedpure virtual

提示错误消息

CChineseChessView , 以及 CFrmChineseChess 内被实现.

◆ PreviouStep()

int CChineseChess::PreviouStep ( )

函数名:PreviouStep 功 能:上步棋 参 数:无 返回值:走棋步数 作 者:康 林 版 本:1.0.0.1 日 期:2004-10-5 时 间:10:19:51

在文件 ChineseChess.cpp394 行定义.

◆ SaveChessGame()

int CChineseChess::SaveChessGame ( const char *  pszFile)
virtual

保存棋局。 根据文件扩展名来保存为相应的格式。 当前支持自定义格式、PGN格式

在文件 ChineseChess.cpp456 行定义.

◆ SetBlackName()

int CChineseChess::SetBlackName ( const char *  pszName)

在文件 ChineseChess.cpp508 行定义.

◆ SetBoardLayout()

int CChineseChess::SetBoardLayout ( ENUM_BoardLayout  layout)

在文件 ChineseChess.cpp31 行定义.

◆ SetEndTime()

int CChineseChess::SetEndTime ( const time_t &  t)

在文件 ChineseChess.cpp528 行定义.

◆ SetRedName()

int CChineseChess::SetRedName ( const char *  pszName)

在文件 ChineseChess.cpp498 行定义.

◆ SetStartTime()

int CChineseChess::SetStartTime ( const time_t &  t)

在文件 ChineseChess.cpp518 行定义.

类成员变量说明

◆ m_BoardLayout

ENUM_BoardLayout CChineseChess::m_BoardLayout
protected

在文件 ChineseChess.h155 行定义.

◆ m_ChessBoard

CPiece::ENUM_QiZi CChineseChess::m_ChessBoard[9][10]
protected

棋盘描述

[0][0] ------------------> i 或 x 方向
|
|
|
| [i][j]
|
|
\|/ [9][10]
|
j 或 y 方向
参见
CChessGame

在文件 ChineseChess.h154 行定义.

◆ m_CurrentPositionX

int CChineseChess::m_CurrentPositionX
protected

在文件 ChineseChess.h170 行定义.

◆ m_CurrentPositionY

int CChineseChess::m_CurrentPositionY
protected

在文件 ChineseChess.h171 行定义.

◆ m_PreviouPositionX

int CChineseChess::m_PreviouPositionX
protected

在文件 ChineseChess.h168 行定义.

◆ m_PreviouPositionY

int CChineseChess::m_PreviouPositionY
protected

在文件 ChineseChess.h169 行定义.

◆ m_WalkState

ENUM_WalkState CChineseChess::m_WalkState
protected

在文件 ChineseChess.h164 行定义.


该类的文档由以下文件生成: