![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Adam Baker 201166301
Dependencies: mbed Gamepad N5110
main.cpp@24:f5dd1f3db693, 2019-04-21 (annotated)
- Committer:
- adambakerwa
- Date:
- Sun Apr 21 18:17:20 2019 +0000
- Revision:
- 24:f5dd1f3db693
- Parent:
- 23:4b1abf659467
- Child:
- 25:230e4163cb6b
Cleaned up runner class
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
adambakerwa | 1:a3cce487dffe | 1 | #include "mbed.h" |
adambakerwa | 1:a3cce487dffe | 2 | #include "Gamepad.h" |
adambakerwa | 1:a3cce487dffe | 3 | #include "N5110.h" |
adambakerwa | 1:a3cce487dffe | 4 | #include "Runner.h" |
adambakerwa | 6:cef9c2853315 | 5 | #include "Levels.h" |
adambakerwa | 9:ddeafaadf984 | 6 | #include "Animation.h" |
adambakerwa | 1:a3cce487dffe | 7 | |
adambakerwa | 1:a3cce487dffe | 8 | N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); |
adambakerwa | 1:a3cce487dffe | 9 | Gamepad pad; |
adambakerwa | 1:a3cce487dffe | 10 | Runner runner; |
adambakerwa | 9:ddeafaadf984 | 11 | Animation ani; |
adambakerwa | 15:c4de6874aa19 | 12 | Levels lev; |
adambakerwa | 13:35a459a33bbd | 13 | Ticker ticker; |
adambakerwa | 13:35a459a33bbd | 14 | |
adambakerwa | 13:35a459a33bbd | 15 | |
adambakerwa | 13:35a459a33bbd | 16 | volatile int timer_flag = 0; |
adambakerwa | 13:35a459a33bbd | 17 | |
adambakerwa | 13:35a459a33bbd | 18 | void timer_isr(); |
adambakerwa | 1:a3cce487dffe | 19 | |
adambakerwa | 6:cef9c2853315 | 20 | |
adambakerwa | 13:35a459a33bbd | 21 | int main() |
adambakerwa | 13:35a459a33bbd | 22 | { |
adambakerwa | 13:35a459a33bbd | 23 | |
adambakerwa | 18:0a0976faedfb | 24 | int fps = 6; //6 |
adambakerwa | 22:8218092c2e4b | 25 | |
adambakerwa | 1:a3cce487dffe | 26 | pad.init(); |
adambakerwa | 1:a3cce487dffe | 27 | lcd.init(); |
adambakerwa | 17:ecbafe932c19 | 28 | lcd.setContrast(0.55); |
adambakerwa | 1:a3cce487dffe | 29 | Move move; |
adambakerwa | 18:0a0976faedfb | 30 | Pos pos; |
adambakerwa | 24:f5dd1f3db693 | 31 | |
adambakerwa | 1:a3cce487dffe | 32 | move = runner.init(move); |
adambakerwa | 18:0a0976faedfb | 33 | pos = lev.init(pos); |
adambakerwa | 24:f5dd1f3db693 | 34 | |
adambakerwa | 13:35a459a33bbd | 35 | ticker.attach(&timer_isr,1.0f/fps); |
adambakerwa | 13:35a459a33bbd | 36 | |
adambakerwa | 24:f5dd1f3db693 | 37 | int gameover = 0; |
adambakerwa | 13:35a459a33bbd | 38 | |
adambakerwa | 1:a3cce487dffe | 39 | while(1) { |
adambakerwa | 1:a3cce487dffe | 40 | |
adambakerwa | 14:d8ced73dbb83 | 41 | if (timer_flag == true) { |
adambakerwa | 13:35a459a33bbd | 42 | |
adambakerwa | 14:d8ced73dbb83 | 43 | timer_flag = 0; // if it has, clear the flag |
adambakerwa | 13:35a459a33bbd | 44 | |
adambakerwa | 14:d8ced73dbb83 | 45 | lcd.clear(); |
adambakerwa | 17:ecbafe932c19 | 46 | |
adambakerwa | 24:f5dd1f3db693 | 47 | move = runner.nextLevel(move); |
adambakerwa | 24:f5dd1f3db693 | 48 | pos = lev.whatLevel(lcd, move.l); |
adambakerwa | 24:f5dd1f3db693 | 49 | move = runner.blockhead(move, pos, lcd, pad); |
adambakerwa | 24:f5dd1f3db693 | 50 | gameover = runner.gameover(move, pos, lcd); |
adambakerwa | 13:35a459a33bbd | 51 | |
adambakerwa | 13:35a459a33bbd | 52 | lcd.refresh(); |
adambakerwa | 13:35a459a33bbd | 53 | |
adambakerwa | 14:d8ced73dbb83 | 54 | } else { |
adambakerwa | 14:d8ced73dbb83 | 55 | |
adambakerwa | 14:d8ced73dbb83 | 56 | sleep(); |
adambakerwa | 14:d8ced73dbb83 | 57 | |
adambakerwa | 13:35a459a33bbd | 58 | } |
adambakerwa | 1:a3cce487dffe | 59 | } |
adambakerwa | 13:35a459a33bbd | 60 | |
adambakerwa | 13:35a459a33bbd | 61 | } |
adambakerwa | 13:35a459a33bbd | 62 | |
adambakerwa | 13:35a459a33bbd | 63 | void timer_isr() |
adambakerwa | 13:35a459a33bbd | 64 | { |
adambakerwa | 13:35a459a33bbd | 65 | |
adambakerwa | 13:35a459a33bbd | 66 | timer_flag = 1; // set flag in ISR |
adambakerwa | 1:a3cce487dffe | 67 | } |
adambakerwa | 1:a3cce487dffe | 68 | |
adambakerwa | 1:a3cce487dffe | 69 | |
adambakerwa | 13:35a459a33bbd | 70 | //rtos |
adambakerwa | 24:f5dd1f3db693 | 71 | /** |
adambakerwa | 24:f5dd1f3db693 | 72 | char buffer[14]; |
adambakerwa | 24:f5dd1f3db693 | 73 | sprintf(buffer,"%i", gameover); |
adambakerwa | 24:f5dd1f3db693 | 74 | lcd.printString(buffer,0,0); |
adambakerwa | 24:f5dd1f3db693 | 75 | */ |
adambakerwa | 24:f5dd1f3db693 | 76 | //NEED TO RESET POS CORDS EACH NEW LEVEL TO PREVENT UNNECERSARRY GAME OVER (have fun x) |