Я изучаю C и решил посмотреть на ncurses. Я пытаюсь написать программу, которая перемещает @ по экрану. Все работает, если я указываю числа для начальных координат, но если я пытаюсь использовать переменные координаты, которые центрируют @ в начале, @ просто не появляется.
#include <ncurses.h>
#include <stdlib.h>
int main() {
int x, y, c, height, width;
initscr();
getmaxyx(stdscr, height, width);
x = width/2;
y = height/2;
mvprintw(x, y, "@");
keypad(stdscr, TRUE);
curs_set(0);
while(1) {
c = wgetch(stdscr);
switch(c) {
case KEY_DOWN:
clear();
++x;
mvprintw(x, y, "@");
refresh();
break;
case KEY_UP:
clear();
--x;
mvprintw(x, y, "@");
refresh();
break;
case KEY_RIGHT:
clear();
mvprintw(x, y, "@");
refresh();
break;
case KEY_LEFT:
clear();
--y;
mvprintw(x, y, "@");
refresh();
break;
}
}
return 0;
}
int center() {
int x, y, width, height;
getmaxyx(stdscr, width, height);
x = width/2;
y = height/2;
return x, y;
}