Joe Shotton / Mbed 2 deprecated ELEC2645_Project_ll16j23s

Dependencies:   mbed ll16j23s_test_docs

SnakeEngine/SnakeEngine.h

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

File content as of revision 9:0571880085cc:

#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 <vector>

class SnakeEngine
{

public:
    SnakeEngine();
    ~SnakeEngine();
    
    void welcome(N5110 &lcd);
    
    void menu1_init(Gamepad &pad, N5110 &lcd);
    void menu1_select(N5110 &lcd, Gamepad &pad, FXOS8700CQ &mag);
    
    void menu2_init(Gamepad &pad, 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(Gamepad &pad, N5110 &lcd);
    void death_select(N5110 &lcd, Gamepad &pad, FXOS8700CQ &mag);
    
    //void init(FXOS8700CQ &mag);
    
    void transition_black(N5110 &lcd);
    void transition_white(N5110 &lcd);
    void select_circles(N5110 &lcd, int line);
    void preview(Gamepad &pad, N5110 &lcd, int _map_select);
    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);
    void snake_map2_collision();
    void snake_map3_collision();
    void snake_map4_collision();
    void menu_flash(Gamepad &pad, int led);
    float _angle;   
    int _menu_select; 
    int _map_select;
    float _pot2;
    bool _death;
           
    int spots_x[];
    int spots_y[];  
    
    //Bitmap snake_select1(snake_select1, 8, 8);
    //Bitmap snake_select2(snake_select2, 16, 8);
    //Bitmap snake_select3(snake_select3, 24, 8);
    
};

#endif