Owen Cavender 201159294

Dependencies:   mbed Gamepad2

snake.h

Committer:
el17oc
Date:
2020-05-30
Revision:
14:7fb3c93343b6
Parent:
12:60c856354406
Child:
16:9500059ad5d8

File content as of revision 14:7fb3c93343b6:


#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 render_clear_tail(N5110 &lcd);
    void get_direction(Gamepad &pad);
    void move_snake();
    void apple_collected(N5110 &lcd, Gamepad &pad);
    void check_gameover(N5110 &lcd);
    void render(N5110 &lcd);
    // void print_display_time(N5110 &lcd);


    Vector2D get_Snakehead();
    int set_reset_value();
    int get_reset_value();
    bool get_timer_reset();
    bool get_RST();
    int get_countdown();

    void gameover_true(N5110 &lcd, Gamepad &pad);
    void get_Apple_position(N5110 &lcd);
    int get_score();

private:


    bool get_gameover();



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



    int _x0;
    int _y0;
    int _x1;
    int _y1;
    int _x2;
    int _y2;
    int _x3;
    int _y3;
    int _x4;
    int _y4;
    int _x5;
    int _y5;
    int _x6;
    int _y6;
    int _x7;
    int _y7;




    int _apx;
    int _apy;



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

};


#endif