#ifndef TURTLE_BLOCK_HPP #define TURTLE_BLOCK_HPP #include "../blocks.hpp" class TurtleBlock : public MarioBlock { public: TurtleBlock(int x, int y, std::shared_ptr &renderer); void custom_move(int ticks) override; void move(int ticks) override; void handleVisitor(SDLPP::Visitor &visitor) override; bool isShell() const { return is_shell; } void setShell(bool shell = true) { is_shell = shell; } double getMovementAfterSwitch() const { if(switched_after_turtle) { return -getMovement().getX(); } else { return getMovement().getX(); } } private: void startDeath(); int death_countdown = 100; bool death_started = false; bool is_shell = false; double next_movement = 0; bool switched_after_turtle = false; }; #endif