A implementation of a simple bomberman game

Dependencies:   4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player

Fork of rtos_basic by mbed official

Committer:
apcastelein
Date:
Mon Oct 31 19:33:11 2016 +0000
Revision:
7:12f7fd2b1a13
Published bomberman game;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
apcastelein 7:12f7fd2b1a13 1 class Nav_Switch
apcastelein 7:12f7fd2b1a13 2 {
apcastelein 7:12f7fd2b1a13 3 public:
apcastelein 7:12f7fd2b1a13 4 Nav_Switch(PinName up,PinName down,PinName left,PinName right,PinName fire);
apcastelein 7:12f7fd2b1a13 5 int read();
apcastelein 7:12f7fd2b1a13 6 //boolean functions to test each switch
apcastelein 7:12f7fd2b1a13 7 bool up();
apcastelein 7:12f7fd2b1a13 8 bool down();
apcastelein 7:12f7fd2b1a13 9 bool left();
apcastelein 7:12f7fd2b1a13 10 bool right();
apcastelein 7:12f7fd2b1a13 11 bool fire();
apcastelein 7:12f7fd2b1a13 12 //automatic read on RHS
apcastelein 7:12f7fd2b1a13 13 operator int ();
apcastelein 7:12f7fd2b1a13 14 //index to any switch array style
apcastelein 7:12f7fd2b1a13 15 bool operator[](int index) {
apcastelein 7:12f7fd2b1a13 16 return _pins[index];
apcastelein 7:12f7fd2b1a13 17 };
apcastelein 7:12f7fd2b1a13 18 private:
apcastelein 7:12f7fd2b1a13 19 BusIn _pins;
apcastelein 7:12f7fd2b1a13 20 };
apcastelein 7:12f7fd2b1a13 21
apcastelein 7:12f7fd2b1a13 22 Nav_Switch::Nav_Switch (PinName up,PinName down,PinName left,PinName right,PinName fire):
apcastelein 7:12f7fd2b1a13 23 _pins(up, down, left, right, fire)
apcastelein 7:12f7fd2b1a13 24 {
apcastelein 7:12f7fd2b1a13 25 _pins.mode(PullUp); //needed if pullups not on board or a bare nav switch is used - delete otherwise
apcastelein 7:12f7fd2b1a13 26 wait(0.001); //delays just a bit for pullups to pull inputs high
apcastelein 7:12f7fd2b1a13 27 }
apcastelein 7:12f7fd2b1a13 28 inline bool Nav_Switch::up()
apcastelein 7:12f7fd2b1a13 29 {
apcastelein 7:12f7fd2b1a13 30 return !(_pins[0]);
apcastelein 7:12f7fd2b1a13 31 }
apcastelein 7:12f7fd2b1a13 32 inline bool Nav_Switch::down()
apcastelein 7:12f7fd2b1a13 33 {
apcastelein 7:12f7fd2b1a13 34 return !(_pins[1]);
apcastelein 7:12f7fd2b1a13 35 }
apcastelein 7:12f7fd2b1a13 36 inline bool Nav_Switch::left()
apcastelein 7:12f7fd2b1a13 37 {
apcastelein 7:12f7fd2b1a13 38 return !(_pins[2]);
apcastelein 7:12f7fd2b1a13 39 }
apcastelein 7:12f7fd2b1a13 40 inline bool Nav_Switch::right()
apcastelein 7:12f7fd2b1a13 41 {
apcastelein 7:12f7fd2b1a13 42 return !(_pins[3]);
apcastelein 7:12f7fd2b1a13 43 }
apcastelein 7:12f7fd2b1a13 44 inline bool Nav_Switch::fire()
apcastelein 7:12f7fd2b1a13 45 {
apcastelein 7:12f7fd2b1a13 46 return !(_pins[4]);
apcastelein 7:12f7fd2b1a13 47 }
apcastelein 7:12f7fd2b1a13 48 inline int Nav_Switch::read()
apcastelein 7:12f7fd2b1a13 49 {
apcastelein 7:12f7fd2b1a13 50 return _pins.read();
apcastelein 7:12f7fd2b1a13 51 }
apcastelein 7:12f7fd2b1a13 52 inline Nav_Switch::operator int ()
apcastelein 7:12f7fd2b1a13 53 {
apcastelein 7:12f7fd2b1a13 54 return _pins.read();
apcastelein 7:12f7fd2b1a13 55 }