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

📄 tankfighting.h

📁 坦克大战小游戏 控制说明: 玩家1相关控制: A/W/S/D:控制方向 F:开火 1 :玩家1复活 玩家2相关控制: UP/LEFT/RIGHT/DOWN:控制方
💻 H
字号:
//----------------------------------------------------------------------------
// 文件名: 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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -