RobotWarSimulator Created by Lee Jia Hee & Chew Wei Zhi i 1 Hierarchical Index 1 1.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Class Index 3 2.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 File Index 7 3.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 Class Documentation 11 4.1 Battlefield Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.1.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.2.1 Battlefield() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 4.1.2.2 ∼ Battlefield() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.3.1 getCols() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.3.2 getRobotByPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.1.3.3 getRows() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.1.3.4 isPositionOccupied() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4.1.3.5 isPositionValid() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.1.3.6 moveRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.1.3.7 placeRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.1.3.8 removeRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1.4.1 cols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1.4.2 matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.1.4.3 rows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 CapabilityStrategy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 4.2.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2.1 CapabilityStrategy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.2.2 ∼ CapabilityStrategy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.3.1 execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2.3.2 getBestAdjacentMove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.3.3 setEnemyRobots() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4.2.3.4 setPossibleAdjacentMoves() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.3.5 setRobotPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2.3.6 validateParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 EchoBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 Generated by Doxygen ii 4.3.2.1 EchoBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.3.2.2 EchoBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.2.3 ∼ EchoBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3.3.2 init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.4 EchoCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.4.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.2.1 EchoCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.4.3.2 isUsable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 4.4.3.3 updateStateAfterUse() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.4.4.1 COOL_DOWN_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.5 FireCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.5.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.2.1 FireCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.5.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.6 GenericRobot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.6.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.2.1 GenericRobot() [1/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.2.2 GenericRobot() [2/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6.2.3 GenericRobot() [3/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.2.4 ∼ GenericRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.6.3.2 executeBeforeFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6.3.3 fire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.6.3.4 look() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 4.6.3.5 move() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.6.3.6 takeTurn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 4.6.3.7 think() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.7 GetBestAdjacentPositionStrategy Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.7.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.7.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7.2.1 GetBestAdjacentPositionStrategy() . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7.2.2 ∼ GetBestAdjacentPositionStrategy() . . . . . . . . . . . . . . . . . . . . . . . . . 65 Generated by Doxygen iii 4.7.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7.3.1 execute() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.7.3.2 getBestAdjacentMove() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.7.3.3 setEnemyRobots() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.7.3.4 setPossibleAdjacentMoves() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7.3.5 setRobotPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7.3.6 validateParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.7.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.7.4.1 bestAdjacentMove . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.7.4.2 enemyRobots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.7.4.3 INVALID_POSITION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.7.4.4 possibleAdjacentPositions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.7.4.5 robotPosition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.8 HideBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.8.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.8.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.8.2.1 HideBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.8.2.2 HideBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.8.2.3 ∼ HideBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.8.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.8.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.8.3.2 init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.9 HideCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.9.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.9.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.9.2.1 HideCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.9.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.9.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.10 HideLongShotBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 4.10.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.10.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.10.2.1 HideLongShotBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.10.2.2 HideLongShotBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.10.2.3 ∼ HideLongShotBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 4.11 HideLongShotScoutBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.11.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.11.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.11.2.1 HideLongShotScoutBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.11.2.2 HideLongShotScoutBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.11.2.3 ∼ HideLongShotScoutBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 4.12 HideScoutBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 4.12.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 Generated by Doxygen iv 4.12.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.12.2.1 HideScoutBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.12.2.2 HideScoutBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 4.12.2.3 ∼ HideScoutBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.12.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.12.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 4.13 HideThirtyShotBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 4.13.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.13.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.13.2.1 HideThirtyShotBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.13.2.2 HideThirtyShotBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 4.13.2.3 ∼ HideThirtyShotBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.13.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.13.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4.14 HideThirtyShotScoutBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.14.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 4.14.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.14.2.1 HideThirtyShotScoutBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.14.2.2 HideThirtyShotScoutBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.14.2.3 ∼ HideThirtyShotScoutBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.14.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.14.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 4.15 InputParser Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 4.15.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.15.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.15.2.1 checkSameRobotPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 4.15.2.2 parseInputFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 4.15.2.3 validateParameters() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 4.16 JumpBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 4.16.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 4.16.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.16.2.1 JumpBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.16.2.2 JumpBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.16.2.3 ∼ JumpBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.16.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4.16.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 4.16.3.2 init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 4.16.3.3 move() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 4.16.3.4 moveHelper() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 4.16.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.16.4.1 isJumping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 4.17 JumpCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 Generated by Doxygen v 4.17.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 4.17.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.17.2.1 JumpCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.17.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.17.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 4.18 JumpSemiAutoBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 4.18.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.18.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.18.2.1 JumpSemiAutoBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.18.2.2 JumpSemiAutoBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 4.18.2.3 ∼ JumpSemiAutoBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.19 JumpSemiAutoTrackBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.19.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 4.19.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.19.2.1 JumpSemiAutoTrackBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.19.2.2 JumpSemiAutoTrackBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.19.2.3 ∼ JumpSemiAutoTrackBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 4.20 JumpTrackBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 4.20.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.20.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.20.2.1 JumpTrackBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.20.2.2 JumpTrackBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.20.2.3 ∼ JumpTrackBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 4.20.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 4.20.3.1 executeAfterFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 4.21 LaserBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.21.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 4.21.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 4.21.2.1 LaserBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 4.21.2.2 LaserBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.21.2.3 ∼ LaserBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.21.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.21.3.1 decideIsFireSuccess() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 4.21.3.2 fireHelper() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 4.21.3.3 init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 4.22 LaserCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 4.22.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 4.22.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 4.22.2.1 LaserCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 4.22.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 4.22.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 4.22.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Generated by Doxygen vi 4.22.4.1 LASER_SUCCESS_PERCENTAGES . . . . . . . . . . . . . . . . . . . . . . . . 197 4.23 LaserEchoBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 4.23.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.23.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.23.2.1 LaserEchoBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.23.2.2 LaserEchoBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 4.23.2.3 ∼ LaserEchoBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 4.24 Logger Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 4.24.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.24.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.24.2.1 Logger() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.24.2.2 ∼ Logger() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 4.24.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4.24.3.1 logAndWriteOutput() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 4.24.3.2 setOutputFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 4.24.3.3 validateOpenFile() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 4.24.3.4 writeOutput() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 4.24.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 4.24.4.1 outputFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 4.25 LongShotBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 4.25.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 4.25.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 4.25.2.1 LongShotBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 4.25.2.2 LongShotBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 4.25.2.3 ∼ LongShotBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 4.25.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 4.25.3.1 executeBeforeFire() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220 4.25.3.2 init() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 4.26 LongShotCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 4.26.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.26.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.26.2.1 LongShotCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.26.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.26.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 4.26.3.2 generateOffsetDistances() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 4.26.3.3 getOffsetDistances() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.26.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.26.4.1 MAX_OFFSET_DISTANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.26.4.2 MIN_OFFSET_DISTANCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.26.4.3 offsetDistances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 4.27 LongShotScoutBot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 4.27.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Generated by Doxygen vii 4.27.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 4.27.2.1 LongShotScoutBot() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 4.27.2.2 LongShotScoutBot() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 4.27.2.3 ∼ LongShotScoutBot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 4.28 LookCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 4.28.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 4.28.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 4.28.2.1 LookCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 4.28.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 4.28.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 4.29 MoveCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 4.29.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 4.29.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 4.29.2.1 MoveCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 4.29.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 4.29.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 4.30 MovingRobot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 4.30.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.2.1 MovingRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.2.2 ∼ MovingRobot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.3.1 move() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.3.2 moveHelper() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 4.30.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 4.30.4.1 movePositionX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 4.30.4.2 movePositionY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 4.31 OutputRenderer Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 4.31.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 4.31.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 4.31.2.1 OutputRenderer() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 4.31.2.2 OutputRenderer() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 4.31.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 4.31.3.1 renderActionLogMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254 4.31.3.2 renderBattlefield() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 4.31.3.3 renderEliminateRobotMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . 256 4.31.3.4 renderInitializeRobotSimulation() . . . . . . . . . . . . . . . . . . . . . . . . . . 257 4.31.3.5 renderNoWinnerMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 4.31.3.6 renderRespawnMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259 4.31.3.7 renderRespawnRobotQueue() . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 4.31.3.8 renderRobotInfo() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 4.31.3.9 renderRobotUpgradeCapabilities() . . . . . . . . . . . . . . . . . . . . . . . . . 262 Generated by Doxygen viii 4.31.3.10 renderStepMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 4.31.3.11 renderString() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 4.31.3.12 renderTurnEndMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 4.31.3.13 renderTurnStartMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 4.31.3.14 renderUpgradeRobotMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . 266 4.31.3.15 renderWinnerMessage() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 4.31.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 4.31.4.1 logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 4.32 Position Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 4.32.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 4.32.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 4.32.2.1 Position() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 4.32.2.2 Position() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 4.32.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 4.32.3.1 isValid() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 4.32.3.2 operator==() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 4.32.4 Friends And Related Symbol Documentation . . . . . . . . . . . . . . . . . . . . . . . . . 271 4.32.4.1 operator << . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 4.32.5 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 4.32.5.1 x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 4.32.5.2 y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 4.33 Robot Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 4.33.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 4.33.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 4.33.2.1 Robot() [1/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 4.33.2.2 Robot() [2/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 4.33.2.3 Robot() [3/3] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 4.33.2.4 ∼ Robot() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 4.33.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 4.33.3.1 generateName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 4.33.3.2 getIsHidden() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 4.33.3.3 getKillCounts() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 4.33.3.4 getRobotCapabilities() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 4.33.3.5 getRobotCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 4.33.3.6 getRobotDisplayName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 4.33.3.7 getRobotId() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 4.33.3.8 getRobotIsAlive() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 4.33.3.9 getRobotLives() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 4.33.3.10 getRobotName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282 4.33.3.11 getRobotPosition() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 4.33.3.12 getRobotPositionX() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 4.33.3.13 getRobotPositionY() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 Generated by Doxygen ix 4.33.3.14 getRobotShellsNum() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284 4.33.3.15 getRobotType() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 4.33.3.16 onDeath() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 4.33.3.17 onRespawn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 4.33.3.18 setBattlefield() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286 4.33.3.19 setOutputRenderer() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 4.33.3.20 setRobotPosition() [1/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 4.33.3.21 setRobotPosition() [2/2] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287 4.33.3.22 setRobotSimulationState() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 4.33.3.23 takeTurn() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 4.33.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 4.33.4.1 adjacentCells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 4.33.4.2 battlefield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 4.33.4.3 displayName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 4.33.4.4 id . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 4.33.4.5 isAlive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 4.33.4.6 isHidden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290 4.33.4.7 killCounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.8 lives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.9 name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.10 outputRenderer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.11 robotCapabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.12 robotCounter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291 4.33.4.13 robotPositionX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 4.33.4.14 robotPositionY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 4.33.4.15 robotSimulationState . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 4.33.4.16 type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 4.34 RobotCapability Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293 4.34.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 4.34.2 Constructor & Destructor Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 4.34.2.1 RobotCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 4.34.2.2 ∼ RobotCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 4.34.3 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 4.34.3.1 clone() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 4.34.3.2 getCapabilityStrategy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296 4.34.3.3 getCurCoolDownTime() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 4.34.3.4 getName() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 4.34.3.5 getOffsetDistances() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297 4.34.3.6 getUsageLeft() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 4.34.3.7 isUsable() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 4.34.3.8 updateStateAfterUse() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299 4.34.4 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 Generated by Doxygen x 4.34.4.1 capabilityStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 4.34.4.2 curCoolDownTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 4.34.4.3 name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300 4.34.4.4 NO_COOL_DOWN_TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 4.34.4.5 NO_USAGE_LEFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 4.34.4.6 usageLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 4.35 RobotCapabilityNames Class Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 4.35.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 4.35.2 Member Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 4.35.2.1 findRobotCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 4.35.2.2 getRobotUpgradeCapabilities() . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 4.35.2.3 isBasicCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 4.35.2.4 isValidCapability() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306 4.35.3 Member Data Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.35.3.1 ECHO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.35.3.2 FIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.35.3.3 HIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.35.3.4 JUMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 4.35.3.5 LASER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .