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

📄 tank1.h

📁 在vc 6.0环境下的一个坦克小游戏
💻 H
字号:
// Tank1.h: interface for the CTank class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TANK1_H__1BBBE5C8_0B87_48BC_84F2_F69FC88FD3C3__INCLUDED_)
#define AFX_TANK1_H__1BBBE5C8_0B87_48BC_84F2_F69FC88FD3C3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TankMap.h"
#include "Tank_Defs.h"	// Added by ClassView
#include "NormalBullet.h"

//##ModelId=3EBA49A203A9
class CTank  
{
public:
public:
	//##ModelId=3EBA49A3009D
	BOOL DownCanGo();
	//##ModelId=3EBA49A3008E
	BOOL HasBlock(int sx,int sy,int ex,int ey);
	//##ModelId=3EBA49A3007F
	void Init(CGame* pGame,int X,int Y,LPDIRECTDRAWSURFACE Tankbmp,LPDIRECTDRAWSURFACE TankStatebmp,int nSkin=0);
	//##ModelId=3EBA49A30074
	Obj HasObject(int xpos,int ypos);
	//##ModelId=3EBA49A30072
	void DrawTank(LPDIRECTDRAWSURFACE pdds);
	//##ModelId=3EBA49A30071
	void DestroyTank();
	//##ModelId=3EBA49A3006F
	BOOL TankMove2(TankDirection direction);
	//##ModelId=3EBA49A3006D
	Result IsWhat(TankDirection direction);
	//##ModelId=3EBA49A30063
	void SetGame(CGame* pGame=NULL);
	//##ModelId=3EBA49A30060
	void SetTankPos(int x,int y);
	//##ModelId=3EBA49A3005F
	void SetBullet();  //设置子弹的类型
	//##ModelId=3EBA49A3005E
	CTank();
	//##ModelId=3EBA49A3005D
	virtual ~CTank();
	
	//##ModelId=3EBA49A30054
	void SetTankBmp(LPDIRECTDRAWSURFACE bmp){m_bmpTank=bmp;}
	//##ModelId=3EBA49A30053
	LPDIRECTDRAWSURFACE GetTankBmp(){return m_bmpTank;}
	//##ModelId=3EBA49A30051
	void SetTankStateBmp(LPDIRECTDRAWSURFACE bmp){m_bmpTankState=bmp;}
	//##ModelId=3EBA49A30050
	LPDIRECTDRAWSURFACE GetTankStateBmp(){return m_bmpTankState;}

	//##ModelId=3EBA49A3004F
	void Shoot();
	//##ModelId=3EBA49A3004E
	TankDirection GetDirection()const{return m_nDirection;}
	//##ModelId=3EBA49A30046
	void SetDirection(TankDirection direction){m_nDirection=direction;}
	//##ModelId=3EBA49A30045
	void AddTankSpeed(){m_nTankSpeed=min(m_nTankSpeed+1,4);}
	//##ModelId=3EBA49A30043
	int SetTankLife(int life)
	{
		if(life>=0)m_nTankLife=life;
		else m_nTankLife=0;
		return m_nTankLife;
	}
	//##ModelId=3EBA49A30042
	int GetTankLife(){return m_nTankLife;}
	//##ModelId=3EBA49A30041
	void TankMove();
	//##ModelId=3EBA49A30040
	int GetX()const{return m_nX;}
	//##ModelId=3EBA49A3003F
	int GetY()const{return m_nY;}
	//##ModelId=3EBA49A3003E
	int GetBulletSpeed(){return m_Normal->GetSpeed();}
	//##ModelId=3EBA49A3001F
	BOOL m_bindex;
	//##ModelId=3EBA49A30014
	CRect rect;

	//##ModelId=3EBA49A30013
	int m_nFireSpeed;
	//##ModelId=3EBA49A30035
    inline void SetRect(){rect.SetRect(x,y,x+TANKWIDTH,y+TANKHEIGHT);} 
	//##ModelId=3EBA49A30034
	inline int Getx(){return x;}
	//##ModelId=3EBA49A30033
	inline int Gety(){return y;}
	//##ModelId=3EBA49A30031
	inline void SetSkin(int nSkin=0);
	//##ModelId=3EBA49A30030
	inline int GetSkin(){return m_nSkin;}
private:
	//##ModelId=3EBA49A30012
	int  m_nDoubleBullet;  //设置子弹单发、双发,还是多发 默认为单发  1--单, 2--双发,3--3发,最多3发 
	//##ModelId=3EBA49A3000F
	TankDirection m_nDirection;
	//##ModelId=3EBA49A30002
	int m_nX;
	//##ModelId=3EBA49A30001
	int m_nY;
	//##ModelId=3EBA49A30000
	int x;
	//##ModelId=3EBA49A203DB
	int y;
	//##ModelId=3EBA49A203DA
	int m_nTankSpeed;
	//##ModelId=3EBA49A203D9
	int m_nTankLife;
	//##ModelId=3EBA49A203D8
	int m_nSkin;
	//##ModelId=3EBA49A203D1
	int m_nDamage;           //子弹威力
	//##ModelId=3EBA49A203D0
	int tempDamage;          //用来作为临时变量保存子弹威力
	//##ModelId=3EBA49A203CD
	CGame* m_pGame;
	//##ModelId=3EBA49A203C8
	CNormalBullet * m_Normal;   //设定子弹
	//##ModelId=3EBA49A203C3
	LPDIRECTDRAWSURFACE m_bmpTank;
	//##ModelId=3EBA49A203BE
	LPDIRECTDRAWSURFACE m_bmpTankState;
	//##ModelId=3EBA49A203BB
	int m_nStep;
	//##ModelId=3EBA49A203BA
	int sort;        //子弹的类型
	//##ModelId=3EBA49A203B9
	int number;      //特殊子弹的弹药数 
private:
	//##ModelId=3EBA49A3002E
	BOOL HeadHaveTank(TankDirection dir);
	//##ModelId=3EBA49A30024
	BYTE Belong();        //判断该坦克是player还是npc 1:LFET-PLAYER,2:RIGHT-PLAYER,3:NPC
	//##ModelId=3EBA49A30023
	int MapxyTonXnY();
	//##ModelId=3EBA49A30020
	void SetCell(Cell type,BYTE mask=0);
};

#endif // !defined(AFX_TANK1_H__1BBBE5C8_0B87_48BC_84F2_F69FC88FD3C3__INCLUDED_)

⌨️ 快捷键说明

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