📄 basewarship.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 + -