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

📄 tank1.h

📁 vc编写的超级坦克源码,vc6编写
💻 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"

class CTank  
{
public:
public:
	BOOL DownCanGo();
	BOOL HasBlock(int sx,int sy,int ex,int ey);
	void Init(CGame* pGame,int X,int Y,LPDIRECTDRAWSURFACE Tankbmp,LPDIRECTDRAWSURFACE TankStatebmp,int nSkin=0);
	Obj HasObject(int xpos,int ypos);
	void DrawTank(LPDIRECTDRAWSURFACE pdds);
	void DestroyTank();
	BOOL TankMove2(TankDirection direction);
	Result IsWhat(TankDirection direction);
	void SetGame(CGame* pGame=NULL);
	void SetTankPos(int x,int y);
	void SetBullet();  //设置子弹的类型
	CTank();
	virtual ~CTank();
	
	void SetTankBmp(LPDIRECTDRAWSURFACE bmp){m_bmpTank=bmp;}
	LPDIRECTDRAWSURFACE GetTankBmp(){return m_bmpTank;}
	void SetTankStateBmp(LPDIRECTDRAWSURFACE bmp){m_bmpTankState=bmp;}
	LPDIRECTDRAWSURFACE GetTankStateBmp(){return m_bmpTankState;}

	void Shoot();
	TankDirection GetDirection()const{return m_nDirection;}
	void SetDirection(TankDirection direction){m_nDirection=direction;}
	void AddTankSpeed(){m_nTankSpeed=min(m_nTankSpeed+1,4);}
	int SetTankLife(int life)
	{
		if(life>=0)m_nTankLife=life;
		else m_nTankLife=0;
		return m_nTankLife;
	}
	int GetTankLife(){return m_nTankLife;}
	void TankMove();
	int GetX()const{return m_nX;}
	int GetY()const{return m_nY;}
	int GetBulletSpeed(){return m_Normal->GetSpeed();}
	BOOL m_bindex;
	CRect rect;

	int m_nFireSpeed;
    inline void SetRect(){rect.SetRect(x,y,x+TANKWIDTH,y+TANKHEIGHT);} 
	inline int Getx(){return x;}
	inline int Gety(){return y;}
	inline void SetSkin(int nSkin=0);
	inline int GetSkin(){return m_nSkin;}
private:
	int  m_nDoubleBullet;  //设置子弹单发、双发,还是多发 默认为单发  1--单, 2--双发,3--3发,最多3发 
	TankDirection m_nDirection;
	int m_nX;
	int m_nY;
	int x;
	int y;
	int m_nTankSpeed;
	int m_nTankLife;
	int m_nSkin;
	int m_nDamage;           //子弹威力
	int tempDamage;          //用来作为临时变量保存子弹威力
	CGame* m_pGame;
	CNormalBullet * m_Normal;   //设定子弹
	LPDIRECTDRAWSURFACE m_bmpTank;
	LPDIRECTDRAWSURFACE m_bmpTankState;
	int m_nStep;
	int sort;        //子弹的类型
	int number;      //特殊子弹的弹药数 
private:
	BOOL HeadHaveTank(TankDirection dir);
	BYTE Belong();        //判断该坦克是player还是npc 1:LFET-PLAYER,2:RIGHT-PLAYER,3:NPC
	int MapxyTonXnY();
	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 + -