Я делаю Pacman на C ++ с библиотекой Ncurses. Я могу перемещать Pacman с помощью своего кода, но я хочу переместить его так, чтобы pacman продолжал двигаться, даже когда я не нажимаю ни одной клавиши, а когда я нажимаю другую клавишу направления, он меняет направление. Прямо сейчас pacman делает только один шаг, когда я нажимаю клавишу. Также я должен нажать клавишу 2 или 3 раза, прежде чем pacman двинется в этом направлении.
if (ch==KEY_LEFT)
{
int b,row,column;
getyx(stdscr,row,column);
int h;
do // do-whileloop to move the pacman left until it hits the wall
{
column-=1;
mvprintw(row,column,">"); //print the ">" symbol
refresh();
waitf(0.1); //this pauses the game for 0.1sec
attron(COLOR_PAIR(1));
mvprintw(row,column,">");
attroff(COLOR_PAIR(1));
refresh();
waitf(0.1);
mvprintw(row,(b),"O"); //showing the open mouth of pacman
refresh();
waitf(0.1);
attron(COLOR_PAIR(1));a
mvprintw(row,column,"O");
attroff(COLOR_PAIR(1));
h = getch();
}
while(h == KEY_LEFT);
}
right = getch();
цикл для перемещения вправо в условии if
up = getch();
цикл для перемещения вверх в условии if
down = getch();
oop для движения вниз в состоянии if.