Mario: turtle blocks initial version
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#ifndef TURTLE_BLOCK_HPP
|
||||
#define TURTLE_BLOCK_HPP
|
||||
|
||||
#include "../blocks.hpp"
|
||||
|
||||
class TurtleBlock : public MarioBlock {
|
||||
public:
|
||||
TurtleBlock(int x, int y, std::shared_ptr<SDLPP::Renderer> &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
|
||||
Reference in New Issue
Block a user