#ifndef ELEMENT_HPP #define ELEMENT_HPP #include #include "globals.hpp" enum Direction { UP, DOWN, LEFT, RIGHT }; struct Vector2i { int x, y; char id; Vector2i() : x(0), y(0), id('@') {} Vector2i(int x, int y, char s) : x(x), y(y), id(s) {} void set(int x, int y); }; class SnakeGame { public: SnakeGame(); // ~SnakeGame(); // Vector2i* buf[MAX_LEN] = {}; std::vector buf; bool running = true; enum Direction m_dir; void determine_index_zero_pos(); void move_tail_indicies(); void on_fruit_eaten(Vector2i (*board)[COL]); bool segment_overlap(); bool exit_summary(); private: int m_score = 0; // int m_snake_size = 3; }; #endif // ELEMENT_HPP