| A | Draw a UML diagram to show the relation between the classes cCritter , cCritterArmed , and cCritterBullet . |
| B | How does the cCritterArmed::update method know when to shoot a bullet, and how does it prevent you from shooting the bullets too close together? |
| C | What steps take place when cCritterArmed::shoot is called? |
| D | Why do we need a cBullet::initialize method in addition to the cBullet constructor? |
| E | How does cBullet::collide make use of the cBullet::isTarget method? |
| F | Why do bullets by default have a higher _collidepriority value than regular critters? |
| G | How does the cCritter::damage method avoid having a critter getting damaged two times in a row by two nearby bullets? |
| H | What causes a cCritterArmedRobot to keep shooting, and what controls how long it waits between shots? |
| I | What are the default values for the cCritterArmedPlayer fields _attitudetomotionlock and _aimtoattitudelock ? Why does the Pop Framework use these values? |