Race around the city collecting the flags while avoiding those that stand in the way of your mission. Make no mistake you will need to be quick to outwit your opponents, they are smart and will try to box you in. I wrote this game to prove that writing a game with scrolling scenery is possible even with the limited 6kB of RAM available. I had to compromise sound effects for features, I wanted multiple opponents, I wanted to be able to drop smoke bombs to trap the opponents but all this required memory so the sound effects had to take a back seat.

Dependencies:   mbed

Committer:
taylorza
Date:
Sun Feb 01 00:43:25 2015 +0000
Revision:
1:1b8125937f28
Parent:
0:d85c449aca6d
Minor updates

Who changed what in which revision?

UserRevisionLine numberNew contents of line
taylorza 0:d85c449aca6d 1 #include "ImageFrame.h"
taylorza 0:d85c449aca6d 2
taylorza 0:d85c449aca6d 3 #ifndef __BLOCK_H__
taylorza 0:d85c449aca6d 4 #define __BLOCK_H__
taylorza 0:d85c449aca6d 5
taylorza 0:d85c449aca6d 6 class Block
taylorza 0:d85c449aca6d 7 {
taylorza 0:d85c449aca6d 8 public:
taylorza 0:d85c449aca6d 9 enum Type { Background, Foreground, Solid, Deadly, Pickup };
taylorza 0:d85c449aca6d 10
taylorza 0:d85c449aca6d 11 public:
taylorza 0:d85c449aca6d 12 Block(const ImageFrame *frame, Type type) :
taylorza 0:d85c449aca6d 13 _frame(frame),
taylorza 0:d85c449aca6d 14 _type(type),
taylorza 0:d85c449aca6d 15 _data(0)
taylorza 0:d85c449aca6d 16 {
taylorza 0:d85c449aca6d 17 }
taylorza 0:d85c449aca6d 18
taylorza 0:d85c449aca6d 19 Block(const ImageFrame *frame, Type type, uint8_t data) :
taylorza 0:d85c449aca6d 20 _frame(frame),
taylorza 0:d85c449aca6d 21 _type(type),
taylorza 0:d85c449aca6d 22 _data(data)
taylorza 0:d85c449aca6d 23 {
taylorza 0:d85c449aca6d 24 }
taylorza 0:d85c449aca6d 25
taylorza 0:d85c449aca6d 26 inline const ImageFrame& getFrame() const { return *_frame; }
taylorza 0:d85c449aca6d 27 inline uint8_t getData() const { return _data; }
taylorza 0:d85c449aca6d 28 inline Type getType() const { return (Type)_type; }
taylorza 0:d85c449aca6d 29
taylorza 0:d85c449aca6d 30 private:
taylorza 0:d85c449aca6d 31 const ImageFrame *_frame;
taylorza 0:d85c449aca6d 32 uint8_t _type;
taylorza 0:d85c449aca6d 33 uint8_t _data;
taylorza 0:d85c449aca6d 34 };
taylorza 0:d85c449aca6d 35
taylorza 0:d85c449aca6d 36 #endif //__BLOCK_H__
taylorza 0:d85c449aca6d 37
taylorza 0:d85c449aca6d 38