Platform game written for the GHI/OutrageousCircuits RETRO game device. Navigate the caves collecting all the pickups and avoiding the creatures and haunted mine carts that patrol the caves. Oh and remember to watch out for the poisonous plants... This game demonstrates the ability to have multiple animated sprites where the sprites can overlap the background environment. See how the player moves past the fence and climbs the wall in the 3rd screen.

Dependencies:   mbed

Committer:
taylorza
Date:
Thu Dec 04 03:13:14 2014 +0000
Revision:
2:97d01ba6cd91
Child:
4:45ff7fc8a431
Improved ladder and jump handling.
; Minimized sprite overlap when composing background and foreground with sprites

Who changed what in which revision?

UserRevisionLine numberNew contents of line
taylorza 2:97d01ba6cd91 1 class BouncingEnemy : public GameObject
taylorza 2:97d01ba6cd91 2 {
taylorza 2:97d01ba6cd91 3 public:
taylorza 2:97d01ba6cd91 4 BouncingEnemy(Game &game, uint8_t spriteId) :
taylorza 2:97d01ba6cd91 5 GameObject(game),
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 2:97d01ba6cd91 17 if (!moveRight()) _dx = -1;
taylorza 2:97d01ba6cd91 18 }
taylorza 2:97d01ba6cd91 19 else if (_dx < 0)
taylorza 2:97d01ba6cd91 20 {
taylorza 2:97d01ba6cd91 21 if (!moveLeft()) _dx = 1;
taylorza 2:97d01ba6cd91 22 }
taylorza 2:97d01ba6cd91 23
taylorza 2:97d01ba6cd91 24 if (_dy > 0)
taylorza 2:97d01ba6cd91 25 {
taylorza 2:97d01ba6cd91 26 if (!moveDown()) _dy = -1;
taylorza 2:97d01ba6cd91 27 }
taylorza 2:97d01ba6cd91 28 else if (_dy < 0)
taylorza 2:97d01ba6cd91 29 {
taylorza 2:97d01ba6cd91 30 if (!moveUp()) _dy = 1;
taylorza 2:97d01ba6cd91 31 }
taylorza 2:97d01ba6cd91 32
taylorza 2:97d01ba6cd91 33 animate();
taylorza 2:97d01ba6cd91 34 }
taylorza 2:97d01ba6cd91 35
taylorza 2:97d01ba6cd91 36 private:
taylorza 2:97d01ba6cd91 37 int8_t _dx;
taylorza 2:97d01ba6cd91 38 int8_t _dy;
taylorza 2:97d01ba6cd91 39 };
taylorza 2:97d01ba6cd91 40