Owen Cavender 201159294

Dependencies:   mbed Gamepad2

snake.h

Committer:
el17oc
Date:
2020-05-29
Revision:
12:60c856354406
Parent:
10:ee781d18e0f6
Child:
14:7fb3c93343b6

File content as of revision 12:60c856354406:


#ifndef SNAKE_H
#define SNAKE_H

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


class Snake
{


public:
    Snake();
    ~Snake();

    enum Directions {
        up,
        down,
        left,
        right,
        null
    };

    void init();


    void check_gameover(N5110 &lcd);
    void apple_collected(N5110 &lcd, Gamepad &pad);
    void render_clear_tail(N5110 &lcd);
    void get_direction(Gamepad &pad);
    void move_snake();
    void get_time(Timer &timer);
    void render(N5110 &lcd);
   // void print_display_time(N5110 &lcd);
    

    bool get_gameover();
    int get_oldscore();
    int get_score();
    Vector2D get_Snakehead();
    int set_reset_value();
    int get_reset_value();
    bool get_timer_reset();
    bool get_RST();
    int get_countdown();
    void snake_isr();
    void gameover_true(N5110 &lcd);
    void get_Apple_position(N5110 &lcd);


private:
 
    
    int _countdown;
    bool _gameover;
    Directions _direction;
    int _oldscore;
    int _score;
 //   float _display_time;
    int _reset_apple;
    int _reset_value;
    


    int _x0;
    int _x1;
    int _x2;
    int _x3;
    int _x4;
    int _x5;

    int _y0;
    int _y1;
    int _y2;
    int _y3;
    int _y4;
    int _y5;
    
    int _apx;
    int _apy;
    


//Vector2D SK0;
//Vector2D SK1;
//Vector2D SK2;
//Vector2D SK3;

};


#endif