Files
breakout/include/elements.hpp
T
2025-09-28 18:00:34 -04:00

57 lines
898 B
C++

#ifndef ELEMENTS_HPP
#define ELEMENTS_HPP
struct Point;
struct Paddle;
struct Block;
struct Ball;
Paddle create_new_paddle(int size);
enum Direction {
LEFT = -1,
RIGHT = 1,
NONE = 0,
};
struct Point {
Point();
Point(int row, int col, char symbol) : m_row(row), m_col(col), m_symbol(symbol) {};
int m_row;
int m_col;
char m_symbol;
void assign(int row, int col);
};
struct Ball {
Ball();
Point m_origin;
int vx;
int vy;
int m_blocks_left;
void get_new_pos();
void check_collision();
void change_velocity(char d);
};
struct Paddle {
Paddle();
int _size;
Point m_nodes[3];
enum Direction m_direction;
void get_new_pos();
void check_collision(Ball &ball);
};
struct Block {
Block(char symbol, int row, int col);
int _size;
int _deleted;
char m_symbol;
Point m_nodes[3];
void get_pos();
void check_collision(Ball &ball, int &blocks_left);
void _delete();
};
#endif