Я пытаюсь отобразить робота с ncurses. Когда x & y печатаются с помощью printf, все в порядке, но с mvwprintw(window, x, y, "a");
ничего не отображается. В чем проблема?
Файл: просмотр.
#include <ncurses.h>
#include "config.c"
#include "arena.c"
void create_window(){
robot robots[NUMBER_ROBOTS];
create_robots(robots);
initscr();
raw();
noecho();
WINDOW * window = newwin(TERM_HEIGHT, TERM_WIDTH, 0, 0);
refresh();
box(window, 0,0);
for (size_t i = 0; i < NUMBER_ROBOTS; i++)
{
//to_string(robots[i]);
int x = get_posx(robots[i]);
int y = get_posy(robots[i]);
printf("X%d Y%d\n", x, y);
wrefresh(window);
mvwprintw(window, x, y, "a");
}
wrefresh(window);
getch();
endwin();
}
void launch(int argc, char const *argv[])
{
create_window();
}
Файл robot.h
typedef struct robot{
int state;
char id[1];
double posX,posY;
double posXo,posYo;
int speed;
int life;
missile missiles[2];
} robot ;
Файл арены. c
int get_posx(robot r){
return (r.posX*TERM_WIDTH)/WIDTH;
}
int get_posy(robot r){
return (r.posY*TERM_HEIGHT)/HEIGHT;
}
Экран Выполнение: введите здесь описание изображения Отображается любое "а".