Joe Shotton / Mbed 2 deprecated ELEC2645_Project_ll16j23s

Dependencies:   mbed ll16j23s_test_docs

SnakeEngine/SnakeEngine.h

Committer:
JoeShotton
Date:
2020-05-25
Revision:
8:bcc3403d7e79
Parent:
7:dd84e0fab346
Child:
9:0571880085cc

File content as of revision 8:bcc3403d7e79:

#ifndef SNAKEENGINE_H
#define SNAKEENGINE_H

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "FXOS8700CQ.h"
#include "Bitmap.h"
#include "SnakeBody.h"
#include "Food.h"
#include "Map.h"
#include <vector>

class SnakeEngine
{

public:
    SnakeEngine();
    ~SnakeEngine();
    
    void welcome(N5110 &lcd);
    
    void menu1_init(N5110 &lcd);
    void menu1_select(N5110 &lcd, Gamepad &pad);
    
    void menu2_init(N5110 &lcd);
    void menu2_select(N5110 &lcd, Gamepad &pad);
    
    void game_init(Gamepad &pad, N5110 &lcd, FXOS8700CQ &mag);
    void game_run(Gamepad &pad, N5110 &lcd);
    
    void death_init(N5110 &lcd);
    void death_select(N5110 &lcd, Gamepad &pad);
    
    //void init(FXOS8700CQ &mag);
    void move_body(Gamepad &pad, N5110 &lcd);
    
    void transition_black(N5110 &lcd);
    void transition_white(N5110 &lcd);
    void select_circles(N5110 &lcd, int line);
    void preview(N5110 &lcd, int _map);
    void map2_draw(N5110 &lcd);
    void map3_draw(N5110 &lcd);
    void map4_draw(N5110 &lcd);
    
    void contrast(Gamepad &pad, N5110 &lcd_);
    
    int score;
    int _game_state;
    
    //void init(VARIABLES);
    //void update(Gamepad &pad);
    //void draw(N5110 &lcd);
    
private:

    SnakeBody _body;
    Food _food;
    
    //bool _game = true;
    void snake_food_collision(Gamepad &pad, N5110 &lcd, int &_length);
    void map_run(N5110 &lcd);
    bool snake_map2_collision();
    bool snake_map3_collision();
    bool snake_map4_collision();
    float _angle;   
    int _menu_select; 
    int _map;
    float _pot2;
    
    //Bitmap snake_select1(snake_select1, 8, 8);
    //Bitmap snake_select2(snake_select2, 16, 8);
    //Bitmap snake_select3(snake_select3, 24, 8);
    
};

#endif