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

📄 basewarship.cpp

📁 一个类似坦克大战的小小游戏
💻 CPP
字号:
#include "BaseWarship.h"
#include "GameResource.h"
#include "GameSound.h"

CBaseWarship::CBaseWarship(void)
{
	m_nBulletCount = 3;
	m_nBulletOut = 0;
	m_nBulletPower = 1;
	m_bIsInSeaweed = false;
	m_bIsExplode = false;
	m_dwScore = 0;
	m_timeFired = 0;
	m_timeInSeaweed = 0;

	int i;
	for (i = 0; i < MAX_BULLET_COUNT; i++)
	{
		m_bullet[i].m_bActive = false;
	}
}

CBaseWarship::~CBaseWarship(void)
{
}

void CBaseWarship::Fire(CGameResource *&pResource, CGameSound *&pSound)
{
	if ((m_nBulletOut < m_nBulletCount) &&		// Have any bullet to fire?
		(timeGetTime() - m_timeFired > 500) &&	// Freezing time passed?
		(NULL != pResource) && (NULL != pSound))
	{
		int i;
		for (i = 0; i != m_nBulletCount; i++)
		{
			if (!m_bullet[i].m_bActive)
			{
				// Set up bullet data
				m_bullet[i].m_bActive = true;
				m_bullet[i].m_nDirection = m_nDirection;
				m_bullet[i].m_nHp = m_nBulletPower;
				m_bullet[i].m_nPower = m_nBulletPower;
				if (m_objType == OT_Boat_Player)
				{
					m_bullet[i].m_nSpeed = 6;
					// Play fire sound
					pSound->Play(ST_Fire);
				}
				else
				{
					m_bullet[i].m_nSpeed = 3;
				}
				m_bullet[i].m_nX = m_nX + m_nWidth / 2;
				m_bullet[i].m_nY = m_nY + m_nHeight / 2;
				m_bullet[i].m_objType = OT_Bullet;
				if (m_bullet[i].m_nPower > 3)
				{
					m_bullet[i].m_pTexture = pResource->m_textureBullet[1].m_pTexture;
					m_bullet[i].m_nWidth = pResource->m_textureBullet[1].m_nWidth;
					m_bullet[i].m_nHeight = pResource->m_textureBullet[1].m_nHeight;
				}
				else
				{
					m_bullet[i].m_pTexture = pResource->m_textureBullet[0].m_pTexture;
					m_bullet[i].m_nWidth = pResource->m_textureBullet[0].m_nWidth;
					m_bullet[i].m_nHeight = pResource->m_textureBullet[0].m_nHeight;
				}
				m_nBulletOut++;

				m_timeFired = timeGetTime();
				break;
			}
		}
	}
}

⌨️ 快捷键说明

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