Final Commit

Dependencies:   mbed

main.cpp

Committer:
JRM1986
Date:
2018-04-30
Revision:
20:277e88a8185f
Parent:
19:b437806e579b
Child:
21:63c5590cb2c2

File content as of revision 20:277e88a8185f:

#include "mbed.h"
#include "FXOS8700CQ.h"
#include "Gamepad.h"
#include "N5110.h"
#include "Testing.h"
#include "SnakeEngine.h"

#define FOOD_X 20
#define FOOD_Y 20
#define SNAKE_P_X 42
#define SNAKE_P_Y 24
#define IN E
#define CUR E

struct UserInput 
{
    
    Direction d;
    
};


/*
ELEC2645 Embedded Systems Project
School of Electronic & Electrical Engineering
University of Leeds
Name: Joshua Robert Marshall
Username: ll13jrm
Student ID Number: 200764543
Date: 28/02/2018
*/

// ----- Objects -----

SnakeEngine snake_engine;
Gamepad pad;
Snake snake;
N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Testing test1;

// ----- Prototypes -----

void init();
void update_game(UserInput input);
void render();
void start_menu();

int main() {
        
        init();
        render();
        
        wait(0.3); 
              
        while(1) {
        
         snake_engine.get_input(pad);
         snake_engine.update(pad);
         render();

         wait(0.3); 
         
    }
    }
    
// initialies all classes and libraries
void init()
{
    // need to initialise LCD and Gamepad 
    lcd.init();
    pad.init();
     
    // initialise the game with food, snake...
    snake_engine.init(IN, CUR, SNAKE_P_X, SNAKE_P_Y);

}

// this function draws each frame on the LCD
void render()
{
    // clear screen, re-draw and refresh
    lcd.clear();
    snake_engine.draw(lcd);
    lcd.refresh();
    
}

void start_menu() 
{
    
    
}