⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 robotdeal.h

📁 java程序五子棋源代码。 java程序五子棋源代码。
💻 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 + -