Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PatrollingEnemy.h@16:f9227904afc4, 2015-02-16 (annotated)
- Committer:
- taylorza
- Date:
- Mon Feb 16 03:46:57 2015 +0000
- Revision:
- 16:f9227904afc4
- Parent:
- 4:45ff7fc8a431
Added a 4th game screen
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| taylorza | 1:ecf7bbccddc1 | 1 | class PatrollingEnemy : public GameObject |
| taylorza | 1:ecf7bbccddc1 | 2 | { |
| taylorza | 1:ecf7bbccddc1 | 3 | public: |
| taylorza | 1:ecf7bbccddc1 | 4 | enum Direction { UpDown, LeftRight }; |
| taylorza | 1:ecf7bbccddc1 | 5 | |
| taylorza | 4:45ff7fc8a431 | 6 | PatrollingEnemy(uint8_t spriteId, Direction direction) : |
| taylorza | 1:ecf7bbccddc1 | 7 | _direction(direction), |
| taylorza | 1:ecf7bbccddc1 | 8 | _primaryDirection(true) |
| taylorza | 1:ecf7bbccddc1 | 9 | { |
| taylorza | 2:97d01ba6cd91 | 10 | setSpriteId(spriteId); |
| taylorza | 3:a93fe5f207f5 | 11 | setSpeed(1); |
| taylorza | 1:ecf7bbccddc1 | 12 | } |
| taylorza | 1:ecf7bbccddc1 | 13 | |
| taylorza | 1:ecf7bbccddc1 | 14 | virtual void update() |
| taylorza | 1:ecf7bbccddc1 | 15 | { |
| taylorza | 1:ecf7bbccddc1 | 16 | if (_primaryDirection) |
| taylorza | 1:ecf7bbccddc1 | 17 | { |
| taylorza | 1:ecf7bbccddc1 | 18 | if (_direction == UpDown) |
| taylorza | 1:ecf7bbccddc1 | 19 | { |
| taylorza | 1:ecf7bbccddc1 | 20 | if (!moveUp()) _primaryDirection = false; |
| taylorza | 1:ecf7bbccddc1 | 21 | } |
| taylorza | 1:ecf7bbccddc1 | 22 | else if (_direction == LeftRight) |
| taylorza | 1:ecf7bbccddc1 | 23 | { |
| taylorza | 1:ecf7bbccddc1 | 24 | if (!moveLeft() || isOpenBelow(-4)) |
| taylorza | 1:ecf7bbccddc1 | 25 | { |
| taylorza | 1:ecf7bbccddc1 | 26 | _primaryDirection = false; |
| taylorza | 1:ecf7bbccddc1 | 27 | } |
| taylorza | 1:ecf7bbccddc1 | 28 | } |
| taylorza | 1:ecf7bbccddc1 | 29 | } |
| taylorza | 1:ecf7bbccddc1 | 30 | else |
| taylorza | 1:ecf7bbccddc1 | 31 | { |
| taylorza | 1:ecf7bbccddc1 | 32 | if (_direction == UpDown) |
| taylorza | 1:ecf7bbccddc1 | 33 | { |
| taylorza | 1:ecf7bbccddc1 | 34 | if (!moveDown()) _primaryDirection = true; |
| taylorza | 1:ecf7bbccddc1 | 35 | } |
| taylorza | 1:ecf7bbccddc1 | 36 | else if (_direction == LeftRight) |
| taylorza | 1:ecf7bbccddc1 | 37 | { |
| taylorza | 1:ecf7bbccddc1 | 38 | if (!moveRight() || isOpenBelow(17)) |
| taylorza | 1:ecf7bbccddc1 | 39 | { |
| taylorza | 1:ecf7bbccddc1 | 40 | _primaryDirection = true; |
| taylorza | 1:ecf7bbccddc1 | 41 | } |
| taylorza | 1:ecf7bbccddc1 | 42 | } |
| taylorza | 1:ecf7bbccddc1 | 43 | } |
| taylorza | 1:ecf7bbccddc1 | 44 | animate(); |
| taylorza | 1:ecf7bbccddc1 | 45 | } |
| taylorza | 1:ecf7bbccddc1 | 46 | |
| taylorza | 1:ecf7bbccddc1 | 47 | private: |
| taylorza | 1:ecf7bbccddc1 | 48 | Direction _direction; |
| taylorza | 1:ecf7bbccddc1 | 49 | bool _primaryDirection; |
| taylorza | 2:97d01ba6cd91 | 50 | }; |