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

📄 gobangdeal.h

📁 java程序五子棋源代码。 java程序五子棋源代码。
💻 H
字号:
// GobangDeal.h: interface for the GobangDeal class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_GOBANGDEAL_H__3B058BE7_2769_4B64_A578_92320CDE108E__INCLUDED_)
#define AFX_GOBANGDEAL_H__3B058BE7_2769_4B64_A578_92320CDE108E__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define MAXSHOWLINES	2000		//监视窗口最多显示行数
UINT RecvThreadFunc(LPVOID pParam);				//接收线程
class GobangDeal  
{
public:
	GobangDeal(CListBox *pListBox,CString configfile);
	virtual ~GobangDeal();
	BOOL WriteLog(LPCTSTR fmt , ...);
	void AddMsg(LPCTSTR fmt , ...);
	UINT Run();
	void SetThreadNo(int no);
	int GetThreadNo();
	void GetDataBasepara(CString &sdatabase,CString &sdbusername,CString &sdbpassword,CString &slogdir);
//	获取房间列表信息
	void GetRoomList(TDBPEx *dbp,NODE_STRUCT RecvNode);
//获取用户游戏统计信息
	void GetCountInfo(TDBPEx *dbp,NODE_STRUCT recvnode); 
//获取大厅信息
	void GetHallInfo(TDBPEx *dbp,NODE_STRUCT recvnode);
//退出房间	
	void ToExitRoom(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户坐下
	void UserSit(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户站起
	void UserUp(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户准备好
	void UserReady(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户开始
	void UserStart(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户在下棋
	void UserPlay(TDBPEx *dbp,NODE_STRUCT recvnode);
//在线检测
	void OlineCheck(TDBPEx *dbp,NODE_STRUCT recvnode);
//用户退出	
	void UserExit(TDBPEx *dbp,NODE_STRUCT recvnode);
//获取指定用户的详细信息
	void GetOtherInfo(TDBPEx *dbp,NODE_STRUCT	recvnode);
//判断平局
	BOOL has_tie(int points[16][16]);
//判断输赢
	BOOL has_five(int points[16][16],int x, int y,int color);
//用于得到棋盘上某一点的颜色
	int  getcolor(int points[16][16],int x,int i,int move,int y);
//游戏中的功能操作请求(0:放弃)
	void GamingGiveUp(TDBPEx *dbp,NODE_STRUCT	recvnode);
	void GamingRegret(TDBPEx *dbp,NODE_STRUCT	recvnode);
	void RegretRespond(TDBPEx *dbp,NODE_STRUCT	recvnode);
	void GamingTie(TDBPEx *dbp,NODE_STRUCT	recvnode);
	void TieRespond(TDBPEx *dbp,NODE_STRUCT	recvnode);
	void GamingSurrender(TDBPEx *dbp,NODE_STRUCT recvnode);
	//丢包补救措施
	void SalveDeal(TDBPEx *dbp,NODE_STRUCT recvnode,CString userid,CString roomnum,CString tableid,short stepnum,CString func);
private:
	//广播房间列表改变的信息
	void RadioRoomInfo(TDBPEx *dbp,CString roomnum,CString operateid);
	//给同房间的用户发信息改变通知
	void SendRoomUser(TDBPEx *dbp,NODE_STRUCT recvnode,CString userinfo,CString userid,CString roomid);
	void Qipaninit(TDBPEx *dbp,CString seqid);  //棋盘初始化
	void ReadFromConfig();
	BOOL Init();
private:
	CString configfile;
	CString  logfile;
	CString  logdir;
	CString	 database;
	CString				dbusername;
	CString				dbpassword;
	CWinThread *pRecvThread[10];
	int threadnum;              //服务程序起的处理线程数
	int threadno;            //当前的线程编号
	CListBox *m_pMsgList;
};

#endif // !defined(AFX_GOBANGDEAL_H__3B058BE7_2769_4B64_A578_92320CDE108E__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -