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

📄 game.h

📁 游戏是我在3月5日离职后花3周时间做的。主要目的是验证自己在游戏上相关的编程能力
💻 H
字号:
#include "Std.h"
#include "gametext.h"
#include "JiangLingData.h"
#include "GESurface.h"

class Game
{
public:
	void ShowText(int Type, int Data1, int Data2);
	void Victory();   ////胜负区分
	void GRecoveryHP();  /////备用将领HP恢复
	void SetGameTimer(int m_TimeID);  /////游戏指令时间控制

	void OccupationCity(int City, int Possess, int AB);  ////攻击城市的胜负处理
	int AttackAalculate(int m_attack, int m_bulwark);  ///攻击处理

	BOOL S_LoadSend(TCHAR *Command, int *Data);  ///编辑并发出Server命令
	BOOL C_LoadSend(TCHAR *Command, int*Data);  ///编辑并发出Cliect命令
	void WGameCohice(int Wint, int Choice);  ////键盘第二轮操作指令
	void GameChoice(int Choice);   ////键盘第一轮处理
	int PtInRectGameCourse(int Cx,int Cy);
	void Init_ShowGameCourse();

    struct Player
	{
    	int SC;    ///////表示为Server.or.Cliect;
    	int CounTry;  ////表示哪个国家
		int CityPossess[10];  ////城市占有情况
		int CitySoldier[10];  ////城市的士兵数量 
		JLF C_JLF[10][4];  /////指向城的4个将领
		JLF W_JLF[10];  ////无使用的10个将领
        int Choice;  /////当前操作控制.
		TCHAR CCityT[10];  ///指定操作的城市文本
		int CCityI;        ///指定城市的编号
	}; 
	struct Without_Player
	{
    	JLF *m_JLF[10];  ////10个城市的可招穆将领。
		JLF *m_JLFhead[10]; /////指向上面的头部
		TCHAR CCityT[10][10];   /////城市文本。
		int CCityI[10];         /////城市编号
		int CityPossess[10]; ////10个城市被占有情况。
		int TimeCity[10];   ////定时变量
	}; 
    struct Map
	{
		/*前面有T为非操作区域只是单单的文本*/
    	RECT TopMenu, TottomMenu; ///上菜单,下菜单
    	RECT City[10];          ///10个城市
		RECT T_CityName[10];    ////城市名称
		RECT T_CitySoldier[10]; ////城市的兵力条
		TCHAR TT_CitySoldier[10][50];  ////城市的兵力条文本
		RECT T_CityGeneral[10]; ////将军能力条
		TCHAR TT_CityGeneral[10][50];  ////将军能力条文本
		RECT T_CityFighter[10]; ////战将能力条
		TCHAR TT_CityFighter[10][50]; ////战将能力条文本
		RECT T_CityStaff[10];   ////参谋能力条
		TCHAR TT_CityStaff[10][50]; ////参谋能力条文本
		RECT T_CityPolitician[10];  ////政客能力条
		TCHAR TT_CityPolitician[10][50];  ////政客能力条文本
		RECT T_CityCarryOut[10];
		TCHAR TT_CityCarryOut[10][5];
    	RECT Attack;   ////进攻
    	RECT Appoint;  ////任命
    	RECT Absolve;  ////解除任职
    	RECT Enrol;  ////招收武将
        RECT Conscripy;  ///征召士兵
    	RECT Swap;  ////兵力调动
		RECT T_CityC;  ////指定的城市
		RECT ChoiceBMP ;   ///////10个变化选项的位图显示
     	RECT Choice[10];   ///////选择文本10项动态变化最多的
		TCHAR T_Choice[10][50];   ////////10个选择文本集根据Choice变化而变化
		RECT T_Show[10];   /////消息通知的10个文本
    	struct Show
		{
	    	TCHAR Text[50];
	    	int i_Show;
		};
    	deque<Show> TT_Show;
    	deque<Show>::iterator c_TT_Show;
	};

	BOOL InitS_GameCourse();   /////游戏进行时初试化
	BOOL ShowGameCourse(LPDIRECT3DDEVICE8 &g_pD3DDevice);   /////显示游戏进行时的画面
	int ExecutionWorking(TCHAR *Command, int *Data); ////网络命令分解并执行
	void SetCountry(int country);   ////设置本地当前使用的国家,Cliect为发出消息通知Server
	int PtInRectGameBegin(int Sx,int Sy);  ////国家选择的坐标识别
	BOOL ShowGameBegin();   //////显示选择国家的开始界面
	BOOL InitD3D(LPDIRECT3DDEVICE8 &g_pD3DDevice);  ////初试化本类中的D3D
	BOOL InitGame(HWND hwnd);   //////初试化游戏
	BOOL S_AssayRecv(TCHAR *S_Msg_Recv);  ////用于分解接受为Server的网络数据
	Game();
	~Game();
	BOOL C_AssayRecv(TCHAR *C_Msg_Recv);  ////用于分解接收为Cliect的网络数据
	int i_gamework;

private:
	int GetConscripy(int City);  ///兵力增加处理
	HWND hWnd; ////主窗口
	Player m_player;  /////服务器玩家
	Player *m_player1;  /////非Server玩家动太建立
	RECT rect_Wu, rect_Su, rect_Fa, rect_Wei;  ////吴,蜀,魏,阀
	RECT BJ;
	Map m_map;
	JiangLing m_JiangLing;
    Without_Player m_WP;
    GESurface TexSurface, CitySurface, ChoiceSurface;
	GESurface AttackSurface, SwapSurface, EnrolSurface, ConscripySurface, AppointSurface, AbsolveSurface;
	GESurface LongWeiSurface, XuanFaSurface, HuSuSurface, ZuWuSurface;

	Map::Show T_Show;

	void SetJLFCityHP(int City,int function, JLF *m_JLF);
	void SetCitySoldier(int City, int Soldier);
	void SetCityJLF(int City, int function, JLF *m_JLF);  ///城市中的将领生命的处理
	int GetSwap(int City, int aim);
	int GetGameTimer(int City, int m_Time);

};

⌨️ 快捷键说明

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