#include <CAiBomber.h>
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 | |
CAiArena * | m_pArena |
CDisplay * | m_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 |
CBomber * | m_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] |
CAiBomber::CAiBomber | ( | void | ) |
CAiBomber::~CAiBomber | ( | void | ) | [virtual] |
void CAiBomber::SetComputerMode | ( | EComputerMode | ComputerMode | ) | [private] |
void CAiBomber::ModeThink | ( | void | ) | [private] |
void CAiBomber::ModeItem | ( | float | DeltaTime | ) | [private] |
void CAiBomber::ModeAttack | ( | ) | [private] |
void CAiBomber::ModeThrow | ( | ) | [private] |
void CAiBomber::ModeSecondAction | ( | ) | [private] |
void CAiBomber::ModeDefence | ( | float | DeltaTime | ) | [private] |
void CAiBomber::ModeWalk | ( | float | DeltaTime | ) | [private] |
void CAiBomber::UpdateAccessibility | ( | void | ) | [private] |
bool CAiBomber::GoTo | ( | int | GoalBlockX, | |
int | GoalBlockY | |||
) | [private] |
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
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. |
bool CAiBomber::EnemyNearRemoteFuseBomb | ( | CBomb & | bomb | ) | [private] |
bool CAiBomber::DropBombOK | ( | int | BlockX, | |
int | BlockY | |||
) | [private] |
bool CAiBomber::EnemyNear | ( | int | BlockX, | |
int | BlockY | |||
) | [private] |
int CAiBomber::ItemMark | ( | int | BlockX, | |
int | BlockY | |||
) | [private] |
void CAiBomber::SetArena | ( | CAiArena * | pArena | ) | [inline] |
void CAiBomber::SetDisplay | ( | CDisplay * | pDisplay | ) | [inline] |
void CAiBomber::Create | ( | int | Player | ) |
void CAiBomber::Destroy | ( | void | ) |
void CAiBomber::Update | ( | float | DeltaTime | ) |
CAiArena* CAiBomber::m_pArena [private] |
CDisplay* CAiBomber::m_pDisplay [private] |
int CAiBomber::m_Player [private] |
int CAiBomber::m_Accessible[ARENA_WIDTH][ARENA_HEIGHT] [private] |
int CAiBomber::m_PseudoAccessible[ARENA_WIDTH][ARENA_HEIGHT] [private] |
int CAiBomber::m_NumAccessible [private] |
float CAiBomber::m_StopTimeLeft [private] |
int CAiBomber::m_ItemGoalBlockX [private] |
int CAiBomber::m_ItemGoalBlockY [private] |
bool CAiBomber::m_ItemDropBomb [private] |
int CAiBomber::m_BlockWalk [private] |
float CAiBomber::m_WalkTime [private] |
EComputerMode CAiBomber::m_ComputerMode [private] |
EBomberMove CAiBomber::m_BomberMove [private] |
EBomberAction CAiBomber::m_BomberAction [private] |
float CAiBomber::m_BomberMoveTimeLeft [private] |
CBomber* CAiBomber::m_pBomber [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 } }