NppClone/src/player.h

57 lines
1.2 KiB
C++

#ifndef PLAYER_H
#define PLAYER_H
#include <azur/azur.h>
#include <azur/gint/render.h>
#include <cstdint>
#include <stdlib.h>
#include <num/num.h>
enum
{
STATIC = 0,
DRAFT = 1,
WALK = 2,
RUN = 3,
JUMP = 4,
FALL = 5,
};
#define LEFT libnum::num(-1)
#define TOP libnum::num(-1)
#define CENTER libnum::num(0)
#define BOTTOM libnum::num(+1)
#define RIGHT libnum::num(+1)
class Player
{
public:
Player( int16_t _x, int16_t _y );
~Player();
void Update( float dt );
void Render( );
void Left( float dt );
void Right( float dt );
void Up( float dt );
void Down( float dt );
void Nothing( float dt );
void Jump( float dt );
libnum::num currx, curry; // center position of the player
libnum::num nextx, nexty; // interim x and y position (to be tested to check if they can be actually achieved or not while moving)
int8_t tileX, tileY;
libnum::num vx, vy; // speed of the player as per x and y coordinates
libnum::num ax, ay; // acceleration of the player as per x an y coordinates
uint32_t last_tick;
};
#endif