bool GameObject::collided(DynamicObject &dObj) const { double left = this->getPosition().getX()-_wSize; double right = this->getPosition().getX()+_wSize; double bottom = this->getPosition().getY()-_hSize; double top = this->getPosition().getY()+_hSize; double leftB = dObj.getPosition().getX()-dObj.getWSize(); double rightB = dObj.getPosition().getX()+dObj.getWSize(); double bottomB = dObj.getPosition().getY()-dObj.getHSize(); double topB = dObj.getPosition().getY()+dObj.getHSize(); bool hasCollided; if (left<rightB && right>leftB && bottom<topB && top>bottomB) hasCollided = true; else hasCollided = false; return hasCollided; }