tbonus.cpp

来自「一个另类的坦克大战源程序」· C++ 代码 · 共 58 行

CPP
58
字号
// TBonus.cpp: implementation of the TBonus class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "TBonus.h"
#include "TWorld.h"

EPG TBonus::m_epg_bonus[3];
ESound TBonus::m_sound[1];
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

TBonus::~TBonus()
{
}


TBonus::TBonus(int x, int y, BONUS nBonusType)
:TObject(x,y,CLASS_TBONUS)
{
	m_nBonusType = nBonusType ;
	m_nCurrentFrame = 0;
	m_dwDelayTimer=	100;
}

void TBonus::Draw()
{
	POINT p;
	p.x = m_nX;
	p.y = m_nY;
	g_world.LPToDP(p);
	WGE_Surface.Blt(m_epg_bonus[m_nBonusType],
		m_nCurrentFrame,
		p.x,p.y );
}

void TBonus::GetRect(RECT &rc)
{
	rc.left = m_nX - m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_nKeyX;
	rc.top = m_nY - m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_nKeyY;
	rc.bottom = rc.top + m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_dwHeight ;
	rc.right = rc.left + m_epg_bonus[m_nBonusType].GetFrame(m_nCurrentFrame)->m_dwWidth ;
}

void TBonus::Move()
{
	if(!IsMyTime())
		return ;
	if(g_world.Player(0)->HitBy(this))
	{
		Dead();
		m_sound[0].Play();
	}
	++m_nCurrentFrame%=m_epg_bonus[m_nBonusType].GetFrameCount();
}

⌨️ 快捷键说明

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