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

📄 tankobj.inl

📁 分布式坦克游戏
💻 INL
字号:
/*****************************************************************************
*                                                                             
*   TankObj.inl
*                                                                             
*   Electrical Engineering Faculty - Software Lab                             
*   Spring semester 1998                                                      
*                                                                             
*   Tanks game                                                                
*                                                                             
*   Contents: Inline functions implementations.
*                                                                             
*   Authors: Eran Yariv - 28484475                                           
*            Moshe Zur  - 24070856                                           
*                                                                            
*                                                                            
*   Date: 23/09/98                                                           
*                                                                            
******************************************************************************/
inline 
CTankObj::~CTankObj()
{
}

inline UINT 
CTankObj::GetID ()
{
    return m_uTankID;
}

inline UINT 
CTankObj::GetShieldLevel ()
{
    return m_uShieldLevel;
}

inline UINT 
CTankObj::GetShellsCount ()
{
    return m_uShells;
}

inline UINT 
CTankObj::GetBulletsCount ()
{
    return m_uBullets;
}

inline UINT 
CTankObj::GetMinesCount ()
{
    return m_uMines;
}

inline UINT
CTankObj::SetShieldLevel (UINT uShield)
{
    UINT uOldShield = m_uShieldLevel;

    m_uShieldLevel = uShield;
    return uOldShield;
}

inline UINT
CTankObj::SetShellsCount (UINT uShells)
{
    UINT uOldShells = m_uShells;

    m_uShells = uShells;
    return uOldShells;
}

inline UINT
CTankObj::SetBulletsCount (UINT uBullets)
{
    UINT uOldBullets = m_uBullets;

    m_uBullets = uBullets;
    return uOldBullets;
}

inline UINT
CTankObj::SetMinesCount (UINT uMines)
{
    UINT uOldMines = m_uMines;

    m_uMines = uMines;
    return uOldMines;
}

inline HIMAGE 
CTankObj::GetImage()
{
    m_GlobalImageManager.UpdateImage (*m_pCurrentImage, m_bImageChanged);
    return *m_pCurrentImage;
}

inline GameObjectType 
CTankObj::GetType()
{
    return TANK;
}

inline ObjectHeightType 
CTankObj::GetHeight()
{
    return LOWER_LEVEL;
}

inline BOOL
CTankObj::IsLocal ()
{
    return m_bLocal;
}

inline void
CTankObj::RelinquishInput ()
{
    m_bUseManouverSet = FALSE;
}

inline CManouverSet&       
CTankObj::GetManouverSet () const
{
    return m_ManouverSet;
}

inline BOOL
CTankObj::IsExploding ()
{
    return (m_pCurrentImage == &m_hExplodedTankImage);
}


inline WORD                
CTankObj::GetStateCheckSum()
{   // Gets check sum (16 bits) of shield level, ammo level and fast fire rate
    return WORD(
            PackBits (WORD(m_uShieldLevel), 4)            +   // Pack shield  level to 4 bits ( 0.. 3)
           (PackBits (WORD(m_uShells),      4) <<  4)     +   // Pack shells  count to 4 bits ( 4.. 7)
           (PackBits (WORD(m_uBullets),     4) <<  8)     +   // Pack bullets count to 4 bits ( 8..11) 
           (PackBits (WORD(m_uMines),       3) << 12)     +   // Pack mines   count to 3 bits (12..14)
           (m_dwFireRateBonusLastTick ? 0x8000 : 0));   // Pack fast fire rate to a bit (15)
}

inline UINT
CTankObj::GetDirection ()
{
    return m_uDirectionIndex;
}

inline BOOL
CTankObj::IsZombie ()
{
    return m_bZombie;
}

inline void
CTankObj::SetZombie (BOOL b)
{
    m_bZombie = b;
        // Fix image to reflect zombie mode change:
    m_ImageManager.SetOverlay (m_hTankImage, m_bZombie ? &m_hZombieOverlay : NULL);
}

inline BOOL
CTankObj::GetFastFire()
{
    return (0 != m_dwFireRateBonusLastTick);
}

⌨️ 快捷键说明

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