#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 }
}
1.5.5