tankfighting.h

来自「坦克大战小游戏 控制说明: 玩家1相关控制: A/W/S/D:控」· C头文件 代码 · 共 106 行

H
106
字号
//----------------------------------------------------------------------------
// 文件名: TankFighting.h
//
// 描述:坦克大战应用程序头文件
//
// 作者:朱波		创建日期:2007-03-19
//----------------------------------------------------------------------------

#ifndef TANKFIGHTING_H
#define TANKFIGHTING_H

#include "CTank.h"
#include "CComputerTank.h"
#include "CBarrier.h"
#include "CExplored.h"
#include "CommonInclude.h"

class CMyGameApplication : public CGameApplication
{
	public:		
	
		virtual LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
		CMyGameApplication( void );
		~CMyGameApplication( void );

	protected:
		//实现游戏框架函数
		virtual INT     LoadResource( void );
		virtual INT		GameShutDown( void );
		virtual INT		GameMenu( void );
		virtual INT		GameIntro( void );
		virtual INT		GameOptsetting( void );
		virtual INT		GameOut( void );
		virtual INT		GameInit( void );
		virtual INT		GameStart( void );
		virtual INT     GameLevelUp( void );
		virtual INT     GameOver( void );
		virtual INT     GameRestart( void );

		//GAME_RUNNING状态下需实现的方法
		virtual INT		InputProcess( void );
		virtual INT		DoAI( void );
		virtual INT		DoPhysics( void );
		virtual INT		DoLogic( void );
		virtual INT		Draw( void );

	private:

		int					 m_mouse_x;
		int					 m_mouse_y;
		int					 m_mouse_button;

		GAMESTATE			 m_cur_menuitem;
		LPDIRECTDRAWSURFACE7 m_background_surface_menu;
		LPDIRECTDRAWSURFACE7 m_background_surface_game;
		LPDIRECTDRAWSURFACE7 m_menuitem_surface[MENU_ITEM_NUM*2];
		LPDIRECTDRAWSURFACE7 m_tank_surface[TANK_KIND_NUM][TANK_PIC_CELL_COUNT];
		LPDIRECTDRAWSURFACE7 m_slug_surface[SLUG_PIC_CELL_COUNT];
		LPDIRECTDRAWSURFACE7 m_barrier_surface[BARRIER_PIC_COUNT];
		LPDIRECTDRAWSURFACE7 m_tankexplored_surface[TANKEXPLORED_PIC_CELL_COUNT];
		LPDIRECTDRAWSURFACE7 m_game_fail_surface;
		LPDIRECTDRAWSURFACE7 m_game_acom_surface;

	    int					 m_mission_fail_sound_id;
		int					 m_mission_acom_sound_id;
		int					 m_tank_explored_sound_id;
		int					 m_tank_fire_sound_id;

		BOOL				 m_bGameStop;

		int					 m_cur_geometry_count;
		vector<GEOMETRY>	 m_geometry_vec;

		int					 m_barrier_count;
		vector<CBarrier *>	 m_barrier_vec;

		vector<CExplored *>  m_tankexplored_vec;

		int					 m_cur_computer_count;
		int					 m_cur_barrier_count;
		int					 m_cur_slug_count;
		int					 m_cur_tankexplored_count;

		vector<CComputerTank *>  m_computer_vec;
		vector<CSlug *>		 m_slug_vec;

		CTank				 m_player;

		int					 m_cur_time;
		int					 m_pre_time;

		int					 m_total_computer;
		int					 m_total_player;
		int					 m_total_score;
		int					 m_game_level;
		int					 m_show_computer_count;

		BOOL				 m_bPlayerDie;

		int	 MakeRandomMap( void );
		int  DoGeometryHittingLogic( GEOMETRY & slug_geometry, GEOMETRY & dest_geometry );
		int	 ReleaseObjects( void );
		int	 IntToStr(char destStr[], int dest_maxlen, int num);
};

#endif

⌨️ 快捷键说明

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