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.
BouncingEnemy.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 | 4:45ff7fc8a431 | 1 | |
taylorza | 2:97d01ba6cd91 | 2 | class BouncingEnemy : public GameObject |
taylorza | 2:97d01ba6cd91 | 3 | { |
taylorza | 2:97d01ba6cd91 | 4 | public: |
taylorza | 4:45ff7fc8a431 | 5 | BouncingEnemy(uint8_t spriteId) : |
taylorza | 2:97d01ba6cd91 | 6 | _dx(1), |
taylorza | 2:97d01ba6cd91 | 7 | _dy(1) |
taylorza | 2:97d01ba6cd91 | 8 | { |
taylorza | 2:97d01ba6cd91 | 9 | setSpriteId(spriteId); |
taylorza | 2:97d01ba6cd91 | 10 | setSpeed(1); |
taylorza | 2:97d01ba6cd91 | 11 | } |
taylorza | 2:97d01ba6cd91 | 12 | |
taylorza | 2:97d01ba6cd91 | 13 | virtual void update() |
taylorza | 2:97d01ba6cd91 | 14 | { |
taylorza | 2:97d01ba6cd91 | 15 | if (_dx > 0) |
taylorza | 2:97d01ba6cd91 | 16 | { |
taylorza | 4:45ff7fc8a431 | 17 | if (!moveRight()) |
taylorza | 4:45ff7fc8a431 | 18 | { |
taylorza | 4:45ff7fc8a431 | 19 | _dx = -1; |
taylorza | 4:45ff7fc8a431 | 20 | } |
taylorza | 2:97d01ba6cd91 | 21 | } |
taylorza | 2:97d01ba6cd91 | 22 | else if (_dx < 0) |
taylorza | 2:97d01ba6cd91 | 23 | { |
taylorza | 4:45ff7fc8a431 | 24 | if (!moveLeft()) |
taylorza | 4:45ff7fc8a431 | 25 | { |
taylorza | 4:45ff7fc8a431 | 26 | _dx = 1; |
taylorza | 4:45ff7fc8a431 | 27 | } |
taylorza | 2:97d01ba6cd91 | 28 | } |
taylorza | 2:97d01ba6cd91 | 29 | |
taylorza | 2:97d01ba6cd91 | 30 | if (_dy > 0) |
taylorza | 2:97d01ba6cd91 | 31 | { |
taylorza | 4:45ff7fc8a431 | 32 | if (!moveDown()) |
taylorza | 4:45ff7fc8a431 | 33 | { |
taylorza | 4:45ff7fc8a431 | 34 | _dy = -1; |
taylorza | 4:45ff7fc8a431 | 35 | } |
taylorza | 2:97d01ba6cd91 | 36 | } |
taylorza | 2:97d01ba6cd91 | 37 | else if (_dy < 0) |
taylorza | 2:97d01ba6cd91 | 38 | { |
taylorza | 4:45ff7fc8a431 | 39 | if (!moveUp()) |
taylorza | 4:45ff7fc8a431 | 40 | { |
taylorza | 4:45ff7fc8a431 | 41 | _dy = 1; |
taylorza | 4:45ff7fc8a431 | 42 | } |
taylorza | 2:97d01ba6cd91 | 43 | } |
taylorza | 2:97d01ba6cd91 | 44 | |
taylorza | 2:97d01ba6cd91 | 45 | animate(); |
taylorza | 2:97d01ba6cd91 | 46 | } |
taylorza | 2:97d01ba6cd91 | 47 | |
taylorza | 2:97d01ba6cd91 | 48 | private: |
taylorza | 2:97d01ba6cd91 | 49 | int8_t _dx; |
taylorza | 2:97d01ba6cd91 | 50 | int8_t _dy; |
taylorza | 2:97d01ba6cd91 | 51 | }; |
taylorza | 2:97d01ba6cd91 | 52 |