Dance Dance Revolution program for main mbed
Dependencies: 4DGL-uLCD-SE SDFileSystem mbed-rtos mbed wave_player
releaser.h@0:8a02ac09eae0, 2016-04-29 (annotated)
- Committer:
- wliu88
- Date:
- Fri Apr 29 02:04:07 2016 +0000
- Revision:
- 0:8a02ac09eae0
new
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
wliu88 | 0:8a02ac09eae0 | 1 | #ifndef RELEASER_H |
wliu88 | 0:8a02ac09eae0 | 2 | #define RELEASER_H |
wliu88 | 0:8a02ac09eae0 | 3 | |
wliu88 | 0:8a02ac09eae0 | 4 | |
wliu88 | 0:8a02ac09eae0 | 5 | #include "mbed.h" |
wliu88 | 0:8a02ac09eae0 | 6 | #include "arrows.h" |
wliu88 | 0:8a02ac09eae0 | 7 | |
wliu88 | 0:8a02ac09eae0 | 8 | //releaser.h: responsible for keeping track of arrows that are active on the screen |
wliu88 | 0:8a02ac09eae0 | 9 | |
wliu88 | 0:8a02ac09eae0 | 10 | class ArrowReleaser { |
wliu88 | 0:8a02ac09eae0 | 11 | private: |
wliu88 | 0:8a02ac09eae0 | 12 | int terminate; |
wliu88 | 0:8a02ac09eae0 | 13 | public: |
wliu88 | 0:8a02ac09eae0 | 14 | Arrow ActiveArrows [10]; |
wliu88 | 0:8a02ac09eae0 | 15 | ArrowReleaser(){ |
wliu88 | 0:8a02ac09eae0 | 16 | for(int i=0; i< 10; i++){ |
wliu88 | 0:8a02ac09eae0 | 17 | ActiveArrows[i] = Arrow(-1); |
wliu88 | 0:8a02ac09eae0 | 18 | } |
wliu88 | 0:8a02ac09eae0 | 19 | terminate = 0; |
wliu88 | 0:8a02ac09eae0 | 20 | } |
wliu88 | 0:8a02ac09eae0 | 21 | int ReleaseArrow(Arrow songArrows[], int indexSongArray, int screens){ |
wliu88 | 0:8a02ac09eae0 | 22 | for(int i=0; i< 10; i++){ |
wliu88 | 0:8a02ac09eae0 | 23 | if(!ActiveArrows[i].getActive()){ |
wliu88 | 0:8a02ac09eae0 | 24 | //Empty space |
wliu88 | 0:8a02ac09eae0 | 25 | ActiveArrows[i] = songArrows[indexSongArray]; |
wliu88 | 0:8a02ac09eae0 | 26 | if(ActiveArrows[i].getType() == -1){ |
wliu88 | 0:8a02ac09eae0 | 27 | ActiveArrows[i].setActive(0); |
wliu88 | 0:8a02ac09eae0 | 28 | } |
wliu88 | 0:8a02ac09eae0 | 29 | else { |
wliu88 | 0:8a02ac09eae0 | 30 | ActiveArrows[i].setActive(1); |
wliu88 | 0:8a02ac09eae0 | 31 | } |
wliu88 | 0:8a02ac09eae0 | 32 | ActiveArrows[i].init(screens); |
wliu88 | 0:8a02ac09eae0 | 33 | return 1; |
wliu88 | 0:8a02ac09eae0 | 34 | } |
wliu88 | 0:8a02ac09eae0 | 35 | } |
wliu88 | 0:8a02ac09eae0 | 36 | return 0; |
wliu88 | 0:8a02ac09eae0 | 37 | } |
wliu88 | 0:8a02ac09eae0 | 38 | int ReleaseArrow2(Arrow songArrows[], int indexSongArray){ |
wliu88 | 0:8a02ac09eae0 | 39 | for(int i=0; i< 7; i++){ |
wliu88 | 0:8a02ac09eae0 | 40 | if(!ActiveArrows[i].getActive()){ |
wliu88 | 0:8a02ac09eae0 | 41 | //Empty space |
wliu88 | 0:8a02ac09eae0 | 42 | ActiveArrows[i] = songArrows[indexSongArray]; |
wliu88 | 0:8a02ac09eae0 | 43 | if(ActiveArrows[i].getType() == -1){ |
wliu88 | 0:8a02ac09eae0 | 44 | ActiveArrows[i].setActive(0); |
wliu88 | 0:8a02ac09eae0 | 45 | } |
wliu88 | 0:8a02ac09eae0 | 46 | else { |
wliu88 | 0:8a02ac09eae0 | 47 | ActiveArrows[i].setActive(1); |
wliu88 | 0:8a02ac09eae0 | 48 | } |
wliu88 | 0:8a02ac09eae0 | 49 | ActiveArrows[i].init2(); |
wliu88 | 0:8a02ac09eae0 | 50 | return 1; |
wliu88 | 0:8a02ac09eae0 | 51 | } |
wliu88 | 0:8a02ac09eae0 | 52 | } |
wliu88 | 0:8a02ac09eae0 | 53 | return 0; |
wliu88 | 0:8a02ac09eae0 | 54 | } |
wliu88 | 0:8a02ac09eae0 | 55 | int getTermStatus(){ |
wliu88 | 0:8a02ac09eae0 | 56 | return terminate; |
wliu88 | 0:8a02ac09eae0 | 57 | } |
wliu88 | 0:8a02ac09eae0 | 58 | void setTermStatus(int status){ |
wliu88 | 0:8a02ac09eae0 | 59 | terminate = status; |
wliu88 | 0:8a02ac09eae0 | 60 | } |
wliu88 | 0:8a02ac09eae0 | 61 | |
wliu88 | 0:8a02ac09eae0 | 62 | }; |
wliu88 | 0:8a02ac09eae0 | 63 | |
wliu88 | 0:8a02ac09eae0 | 64 | #endif |