31 lines
633 B
C++
31 lines
633 B
C++
#ifndef ELEMENT_HPP
|
|
#define ELEMENT_HPP
|
|
|
|
#include "globals.hpp"
|
|
|
|
enum Direction {
|
|
NONE = 0,
|
|
UP = -2,
|
|
DOWN = 2,
|
|
LEFT = -1,
|
|
RIGHT = 1
|
|
};
|
|
|
|
struct Point {
|
|
int m_row;
|
|
int m_col;
|
|
char m_symbol;
|
|
enum Direction m_dir;
|
|
Point() : m_row(-1), m_col(-1), m_symbol('@') {}
|
|
Point(int x, int y, char s) : m_row(x), m_col(y), m_symbol(s) {}
|
|
void set_new_point(int row, int col);
|
|
};
|
|
|
|
int get_score();
|
|
void determine_index_zero_pos(Point* (*board)[COL], Point** segments);
|
|
void move_tail_indicies(Point** segments);
|
|
void on_fruit_eaten(Point* (*board)[COL], Point** segments);
|
|
bool segment_overlap(Point** segments);
|
|
|
|
#endif // ELEMENT_HPP
|