Files
pvs/semestralka1/src/render/player.cpp
2025-11-14 19:39:19 +01:00

34 lines
920 B
C++

// src/render/player.cpp
#include "player.h"
#include "player_mask.h"
#include <cstdio>
void draw_character(int x, int y, CharacterFrame frame) {
int frame_index = static_cast<int>(frame);
if (frame_index < 0 || frame_index >= CHARACTER_FRAME_COUNT)
frame_index = 0; // fallback safety
const char **character = PLAYER_FRAMES[frame_index];
int character_height = 0;
switch (frame) {
case CharacterFrame::Walk1:
character_height = CHARACTER_HEIGHT_1;
break;
case CharacterFrame::Walk2:
character_height = CHARACTER_HEIGHT_2;
break;
case CharacterFrame::Crawl1:
character_height = CHARACTER_HEIGHT_3;
break;
default:
character_height = CHARACTER_HEIGHT_1;
break;
}
for (int i = 0; i < character_height; i++) {
printf("\033[%d;%dH%s", y + i + 1, x + 1, character[i]);
}
fflush(stdout);
}