Witam. Pisze gre 'pong' w <ncurses.h> i mam problem z obsluga 'pileczki' i 'paletki'.
Nie moge napisac(nie wiem czy dobrze sie za to zabralem) zeby pileczka sobie latala po boisku i zebym mogl w tym czasie swobodnie poruszac paletką(ami). W tym co napisalem pileczka przesuwa sie dopieor po tym jak nacisne klawisz klawiatury.

oto moje wypociny [czesc]:

#include <ncurses.h>

/* czesc programu z pilka, kreskami i paletka. Pilka nie lata sama(jest uzalezniona od paletki) */

int main() {
        WINDOW * pilka;
        WINDOW * gorna_linia;
        WINDOW * dolna_linia;
	WINDOW * paletka1;
        
	int i,x, y, c;
	
        initscr();
        i = 12;
 	noecho();
        pilka = newwin(1, 1, i, i);
        gorna_linia=newwin(1,130,5,12);
        dolna_linia=newwin(1,130,45,12);
	paletka1 = newwin(5, 1, 5, 11);
	
	wprintw(paletka1, "|||||||||||");
        wprintw(pilka,"*");
    wprintw(gorna_linia,"------------------------------------------------------");
    wprintw(dolna_linia,"------------------------------------------------------");	
	keypad(paletka1, TRUE);	
	while(i < 45) {	
                i++;
                mvwin(pilka, i, i);
                touchwin(stdscr); touchwin(gorna_linia);touchwin(dolna_linia);touchwin(paletka1);
                refresh();
                wrefresh(gorna_linia); wrefresh(dolna_linia); wrefresh(pilka);wrefresh(paletka1);		 
		if (c = wgetch(paletka1)) {
		 	if (c == KEY_UP) {
			getbegyx(paletka1, y, x);
			y--;
			mvwin(paletka1, y, x);
		} else if (c == KEY_DOWN) {
			getbegyx(paletka1, y, x);
			y++;
			mvwin(paletka1, y, x);
		} 		
		 wrefresh(gorna_linia); wrefresh(dolna_linia); wrefresh(pilka);wrefresh(paletka1);
		doupdate();
		} 
	usleep(100000);
        }
	delwin(paletka1);
        delwin(gorna_linia);
        delwin(dolna_linia);
        delwin(pilka);
        endwin();
        return 0;
}

jak to poprawic ?