Faizan and Pages fun little game

Dependencies:   4DGL-uLCD-SE mbed SDFileSystem wave_player

Committer:
kswanson31
Date:
Mon Oct 31 20:18:51 2016 +0000
Revision:
18:2e42ec5e2311
Parent:
9:f2ee3ef97af1
Added end of game screen, updated pause.

Who changed what in which revision?

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