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:
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?

UserRevisionLine numberNew 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