#include "config.h" #include "object.h" Object::Object() : m_symbol('*'), m_size(1), m_pos(0, 0) {} Object::Object(Position pos, int size, char symbol) : m_symbol(symbol), m_size(size), m_pos(pos) {} char Object::getSymbol() { return m_symbol; } Object::Position Object::getPosition() { return m_pos; } int Object::getSize() { return m_size; } void Object::setPosition(Object::Position p) { m_pos = p; } void Object::changePosition(double dx, double dy) { if (m_pos.X + dx + (-(m_size + 1) / 2 + 1) < 0) dx = -(m_pos.X + (-(m_size + 1) / 2 + 1)); if (m_pos.Y + dy + (-(m_size + 1) / 2 + 1) < 0) dy = -(m_pos.Y + (-(m_size + 1) / 2 + 1)); if (m_pos.X + dx + m_size / 2 >= WORLD_WIDTH) dx = (WORLD_WIDTH-1) - (m_pos.X + m_size / 2); if (m_pos.Y + dy + m_size / 2 >= WORLD_HEIGHT) dy = (WORLD_HEIGHT-1) - (m_pos.Y + m_size / 2); m_pos.X += dx, m_pos.Y += dy; }