ELEC2645 (2018/19) / Mbed 2 deprecated el17set_

Dependencies:   mbed

main.cpp

Committer:
S_Tingle
Date:
2019-05-06
Revision:
15:a080c64cf301
Parent:
14:d0650d0de063
Child:
16:37d98c281eb3

File content as of revision 15:a080c64cf301:

#include "mbed.h"
#include "Gamepad.h"
#include "N5110.h"
#include "Game.h"
#include "Menu.h"

struct joystick_val {
    Direction dir;
    float mag;
};

Game game;
N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Gamepad pad;
Smiley smiley;
Coin coin;

void init();
void render();
void start_screen();
void pause_screen();

int main(){
    
    int fps = 30;
    init();
    start_screen();
    render();    
    wait(1.0f/fps);
          
    while (1) {
        if (pad.check_event(Gamepad::BACK_PRESSED) == true){
            pause_screen();
            wait(1);
        } else {
            render();
            game.dirmag(pad);
            game.movement(pad,lcd);
            wait(1.0f/fps);
        }
    }   
}
    
void init(){
    lcd.init();
    pad.init();
    game.init();
}
    
void render(){
    lcd.clear();
    game.drawSprite(lcd);
    game.collect(smiley,coin,lcd);
    lcd.refresh();
}
    
void start_screen(){
    lcd.printString("PAUSED",42,24);
    lcd.refresh();
     
    while ( pad.check_event(Gamepad::START_PRESSED) == false) {
        lcd.clear();
        lcd.drawSprite(0,0,48,84,(int *)start_01);
        wait(1);
        lcd.drawSprite(0,0,48,84,(int *)start_02);
        wait(1);
        lcd.drawSprite(0,0,48,84,(int *)start_02);
        wait(1);
        lcd.refresh();
    }
}

void pause_screen(){
    lcd.printString("PAUSED",42,24);
    lcd.refresh();
    
    while (pad.check_event(Gamepad::BACK_PRESSED) == true) {
        pad.leds_on();
        wait(0.1);
        pad.leds_off();
        wait(0.1);
    }
}