52 lines
902 B
C
52 lines
902 B
C
#include "player.h"
|
|
#include "conf.h"
|
|
#include "draw.h"
|
|
#include "input.h"
|
|
|
|
static int k_up, k_down, k_left, k_right, k_jump;
|
|
static struct Player player;
|
|
static void player_get_input(void);
|
|
static void player_move(void);
|
|
|
|
void
|
|
player_init(void)
|
|
{
|
|
player.pos = (struct Vec2){0, 0};
|
|
player.spd = (struct FVec2){0.0f, 0.0f};
|
|
}
|
|
|
|
void
|
|
player_update(void)
|
|
{
|
|
player_get_input();
|
|
|
|
const struct Vec2 mov = (struct Vec2){k_right - k_left, k_down - k_up};
|
|
player.spd.x = mov.x;
|
|
player.spd.y = mov.y;
|
|
|
|
player_move();
|
|
}
|
|
|
|
void
|
|
player_draw(void)
|
|
{
|
|
draw_rectangle(player.pos.x, player.pos.y, PLAYER_S, PLAYER_S, C_BLACK);
|
|
}
|
|
|
|
static void
|
|
player_get_input(void)
|
|
{
|
|
k_up = input_down(K_UP);
|
|
k_down = input_down(K_DOWN);
|
|
k_left = input_down(K_LEFT);
|
|
k_right = input_down(K_RIGHT);
|
|
k_jump = input_pressed(K_A);
|
|
}
|
|
|
|
static void
|
|
player_move(void)
|
|
{
|
|
player.pos.x += player.spd.x;
|
|
player.pos.y += player.spd.y;
|
|
}
|