ELEC2645 (2019/20) / Mbed 2 deprecated ELEC2645_Project_el18s2a_2

Dependencies:   mbed

SnakeEngine/SnakeEngine.h

Committer:
Psy1990
Date:
2020-06-05
Revision:
8:32825d724856
Parent:
7:9bd49beccdd1
Child:
9:25597bc0cecc

File content as of revision 8:32825d724856:

#ifndef SNAKEENGINE_H
#define SNAKEENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Apple.h"
#include "Snake.h"
#include "Bitmap.h"

// gap from edge of screen
#define GAP 2


class SnakeEngine
{

public:
    SnakeEngine();
    ~SnakeEngine();

    void init(int apple_size, int snake_speed);
    void read_input(Gamepad &pad); 
    void update(Gamepad &pad);
    void draw(N5110 &lcd);
    
private:

    void print_score(N5110 &lcd);
    
    int sx;
    int sy;
    int ax;
    int ay;
    int _snake_h;
    int _snake_w;
    int _apple_size;
    int _snake_speed;
    
    Snake _s;
    Apple _a;  
    Direction _dir;
    float _mag;

};

#endif