![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Adam Baker 201166301
Dependencies: mbed Gamepad N5110
main.cpp
- Committer:
- adambakerwa
- Date:
- 2019-03-31
- Revision:
- 14:d8ced73dbb83
- Parent:
- 13:35a459a33bbd
- Child:
- 15:c4de6874aa19
File content as of revision 14:d8ced73dbb83:
#include "mbed.h" #include "Gamepad.h" #include "N5110.h" #include "Runner.h" #include "Levels.h" #include "Animation.h" N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad pad; Runner runner; Animation ani; Ticker ticker; volatile int timer_flag = 0; void timer_isr(); int main() { int fps = 10; pad.init(); lcd.init(); lcd.setContrast(0.5); Move move; move = runner.init(move); ticker.attach(&timer_isr,1.0f/fps); while(1) { if (timer_flag == true) { timer_flag = 0; // if it has, clear the flag lcd.clear(); float speed = runner.getSpeed(pad); move = runner.nextLevel(move); //must happen befofre 'fall' otherwise runner can fall out of screen runner.whatLevel(move, lcd); move = runner.buttonPress(move, lcd, pad); move = runner.jump(move, lcd); move = runner.wallJumpL(move, lcd, speed); move = runner.wallJumpR(move, lcd, speed); move = runner.runLeft(move, lcd, speed); move = runner.runRight(move, lcd, speed); move = runner.fall(move, lcd); move = runner.runnerState(move, lcd, speed); //what state runner is in (must come after next level runner.whatLevel(move, lcd); // call level char buffer[14]; sprintf(buffer,"%i",move.cr); lcd.printString(buffer,0,1); //sleep(); //sleep untill next refresh lcd.refresh(); } else { sleep(); } } } void timer_isr() { timer_flag = 1; // set flag in ISR } //rtos