📄 robotdeal.h
字号:
// RobotDeal.h: interface for the RobotDeal class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ROBOTDEAL_H__EEDB0366_53FD_44C9_8CC6_D814B39A07A2__INCLUDED_)
#define AFX_ROBOTDEAL_H__EEDB0366_53FD_44C9_8CC6_D814B39A07A2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAXSHOWLINES 2000 //监视窗口最多显示行数
#define USER_ID_LENGTH 20 //用户id的长度
#define ROOM_ID_LENGTH 3 //房间号的长度
#define TABLE_ID_LENGTH 3 //桌号的长度
UINT RecvThreadFunc(LPVOID pParam); //接收线程
struct ROBOT_STRUCT
{
char userid[USER_ID_LENGTH]; //用户id
char roomid[ROOM_ID_LENGTH]; //房间id
char tableid[TABLE_ID_LENGTH]; //桌号
int tableseq; //桌子序号
int status; //用户状态
char oppid[USER_ID_LENGTH]; //对家id
int oppstatus; //对家状态
};
class RobotDeal
{
public:
RobotDeal(CListBox *pListBox,CString configfile);
virtual ~RobotDeal();
BOOL WriteLog(const char *sLogFile,const char *fmt,...);
void AddMsg(LPCTSTR fmt , ...);
UINT Run();
void SetThreadNo(int no);
int GetThreadNo();
void GetDataBasepara(CString &sdatabase,CString &sdbusername,CString &sdbpassword,CString &slogdir);
void RobotInit();
//获取房间列表请求响应
void GetRoomListRespond(TDBPEx *dbp,CString body,int queuenum);
//获取大厅信息请求响应
void GetHallInfoRespond(TDBPEx *dbp,CString body,int queuenum);
//获取退出房间请求响应
void ToExitRoomRespond(TDBPEx *dbp,CString body,int queuenum);
//获取用户坐下请求响应
void UserSitRespond(TDBPEx *dbp,CString body,int queuenum);
//获取用户站起来请求响应
void UserUpRespond(TDBPEx *dbp,CString body,int queuenum);
//获取用户准备好请求响应
void UserReadyRespond(TDBPEx *dbp,CString body,int queuenum);
//获取用户开始游戏请求响应
void UserStartRespond(TDBPEx *dbp,CString body,int queuenum);
void UserPlayRespond(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppSitRespond(TDBPEx *dbp,CString recvbody,int queuenum);
void OppUpRespond(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppReadyRespond(TDBPEx *dbp,CString recvbody,int queuenum);
void OppStartRespond(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppPlayRespond(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppGiveUp(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppRegret(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppRequestTie(TDBPEx *dbp,NODE_STRUCT recvNode);
void OppSurrender(TDBPEx *dbp,NODE_STRUCT recvNode);
void RobotDealExit();
private:
void ReadFromConfig();
BOOL Init();
private:
CString configfile;
CString logfile;
CString logdir;
CString database;
CString dbusername;
CString dbpassword;
ROBOT_STRUCT robotinfo;
CWinThread *pRecvThread[10];
int threadnum; //服务程序起的处理线程数
int threadno; //当前的线程编号
CListBox *m_pMsgList;
};
#endif // !defined(AFX_ROBOTDEAL_H__EEDB0366_53FD_44C9_8CC6_D814B39A07A2__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -