CAiBomber Class Reference

#include <CAiBomber.h>

Collaboration diagram for CAiBomber:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 CAiBomber (void)
virtual ~CAiBomber (void)
void SetArena (CAiArena *pArena)
void SetDisplay (CDisplay *pDisplay)
void Create (int Player)
void Destroy (void)
void Update (float DeltaTime)

Private Member Functions

void SetComputerMode (EComputerMode ComputerMode)
void ModeThink (void)
void ModeItem (float DeltaTime)
void ModeAttack ()
void ModeThrow ()
void ModeSecondAction ()
void ModeDefence (float DeltaTime)
void ModeWalk (float DeltaTime)
void UpdateAccessibility (void)
bool GoTo (int GoalBlockX, int GoalBlockY)
bool EnemyNearAndFront (EEnemyDirection *direction=NULL, bool BeyondArenaFrontiers=false)
 determines if there is a bomber near us, i.e. at our position or max. MAX_NEAR_DISTANCE blocks away and in front of us
bool EnemyNearRemoteFuseBomb (CBomb &bomb)
bool DropBombOK (int BlockX, int BlockY)
bool EnemyNear (int BlockX, int BlockY)
int ItemMark (int BlockX, int BlockY)

Private Attributes

CAiArenam_pArena
CDisplaym_pDisplay
int m_Player
int m_Accessible [ARENA_WIDTH][ARENA_HEIGHT]
int m_PseudoAccessible [ARENA_WIDTH][ARENA_HEIGHT]
int m_NumAccessible
float m_StopTimeLeft
int m_ItemGoalBlockX
int m_ItemGoalBlockY
bool m_ItemDropBomb
int m_BlockWalk
float m_WalkTime
EComputerMode m_ComputerMode
EBomberMove m_BomberMove
EBomberAction m_BomberAction
float m_BomberMoveTimeLeft
CBomberm_pBomber
int m_BlockHereX
int m_BlockHereY
int m_BlockUpX
int m_BlockUpY
int m_BlockDownX
int m_BlockDownY
int m_BlockLeftX
int m_BlockLeftY
int m_BlockRightX
int m_BlockRightY

Static Private Attributes

static int m_BurnMark [4][6]


Constructor & Destructor Documentation

CAiBomber::CAiBomber ( void   ) 

CAiBomber::~CAiBomber ( void   )  [virtual]


Member Function Documentation

void CAiBomber::SetComputerMode ( EComputerMode  ComputerMode  )  [private]

Here is the caller graph for this function:

void CAiBomber::ModeThink ( void   )  [private]

Here is the caller graph for this function:

void CAiBomber::ModeItem ( float  DeltaTime  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::ModeAttack (  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::ModeThrow (  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::ModeSecondAction (  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::ModeDefence ( float  DeltaTime  )  [private]

Here is the caller graph for this function:

void CAiBomber::ModeWalk ( float  DeltaTime  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::UpdateAccessibility ( void   )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

bool CAiBomber::GoTo ( int  GoalBlockX,
int  GoalBlockY 
) [private]

Here is the call graph for this function:

Here is the caller graph for this function:

bool CAiBomber::EnemyNearAndFront ( EEnemyDirection direction = NULL,
bool  BeyondArenaFrontiers = false 
) [private]

determines if there is a bomber near us, i.e. at our position or max. MAX_NEAR_DISTANCE blocks away and in front of us

Parameters:
direction pointer to an enum of the direction of our enemy
BeyondAreaFrontiers should we also look beyond the arena frontiers, i.e. start at the top if we are at the lowest position, start on the left if we are rightmost etc.
Returns:
true if there is an enemy near and in front of us, false otherwise

Here is the call graph for this function:

Here is the caller graph for this function:

bool CAiBomber::EnemyNearRemoteFuseBomb ( CBomb bomb  )  [private]

Here is the call graph for this function:

Here is the caller graph for this function:

bool CAiBomber::DropBombOK ( int  BlockX,
int  BlockY 
) [private]

Here is the call graph for this function:

Here is the caller graph for this function:

bool CAiBomber::EnemyNear ( int  BlockX,
int  BlockY 
) [private]

Here is the call graph for this function:

Here is the caller graph for this function:

int CAiBomber::ItemMark ( int  BlockX,
int  BlockY 
) [private]

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::SetArena ( CAiArena pArena  )  [inline]

Here is the caller graph for this function:

void CAiBomber::SetDisplay ( CDisplay pDisplay  )  [inline]

Here is the caller graph for this function:

void CAiBomber::Create ( int  Player  ) 

Here is the call graph for this function:

Here is the caller graph for this function:

void CAiBomber::Destroy ( void   ) 

Here is the call graph for this function:

void CAiBomber::Update ( float  DeltaTime  ) 

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

int CAiBomber::m_Player [private]

int CAiBomber::m_Accessible[ARENA_WIDTH][ARENA_HEIGHT] [private]

int CAiBomber::m_PseudoAccessible[ARENA_WIDTH][ARENA_HEIGHT] [private]

float CAiBomber::m_StopTimeLeft [private]

bool CAiBomber::m_ItemDropBomb [private]

int CAiBomber::m_BlockWalk [private]

float CAiBomber::m_WalkTime [private]

int CAiBomber::m_BlockHereX [private]

int CAiBomber::m_BlockHereY [private]

int CAiBomber::m_BlockUpX [private]

int CAiBomber::m_BlockUpY [private]

int CAiBomber::m_BlockDownX [private]

int CAiBomber::m_BlockDownY [private]

int CAiBomber::m_BlockLeftX [private]

int CAiBomber::m_BlockLeftY [private]

int CAiBomber::m_BlockRightX [private]

int CAiBomber::m_BlockRightY [private]

int CAiBomber::m_BurnMark [static, private]

Initial value:

{
    {  0,  0,  0,  0,  0,  0 },
    { 10,  8,  5,  3,  2,  1 },
    { 20, 17, 15, 12, 10,  5 },
    { 30, 26, 24, 22,  5, 10 }
}


The documentation for this class was generated from the following files:

Generated on Sat Oct 18 12:26:39 2008 for Bombermaaan by  doxygen 1.5.5
Visit the Bombermaaan project page
SourceForge.net Logo