30 lines
715 B
C++
30 lines
715 B
C++
#ifndef MARIO_H
|
|
#define MARIO_H
|
|
|
|
#include "../sdlpp/sdlpp_rectrenderer.hpp"
|
|
#include "mario_visitor.hpp"
|
|
|
|
class Mario : public SDLPP::RectangleRender {
|
|
public:
|
|
Mario(const std::shared_ptr< SDLPP::Renderer > &renderer);
|
|
void walkLeft();
|
|
void walkRight();
|
|
void setStanding();
|
|
void handleVisitor(MarioVisitor &visitor, SDLPP::Vec2D<double> previous_position);
|
|
void jump();
|
|
void stopJump();
|
|
private:
|
|
bool faces_right = true;
|
|
double side_movement = 0.8;
|
|
double fall_movement = 1;
|
|
double jump_movement = 1.5;
|
|
bool jumping = false;
|
|
bool stop_jump = false;
|
|
double max_jump = 0;
|
|
double min_jump = 0;
|
|
double slow_jump = 0;
|
|
bool on_ground = true;
|
|
};
|
|
|
|
#endif
|