Witam,

Napisałem program wykorzystujący bibliotekę pthread oraz bibliotekę ncurses. Program ten powinien utworzyć pierwszy punkt który przesuwa się w prawo, następnie tworzy drugi punkt po 2 sekundach i przesuwa go w kierunku punktu pierwszego itd. Mój problem polega na tym że nie wiem jak utworzyć kolejny punkt za pomocą kolejnego wątku który korzysta z tej samej funkcji co reszta wątków.

Czy ktoś mógłby mi wytłumaczyć jak to zrobić?

Poniżej zamieszczam mój kod:

#include <stdio.h>
#include <pthread.h>
#include <curses.h>

void *point();

int  i;

int position_pointx = 1,
	position_pointy = 10;

bool koniec = false;  

int main()
{
	
	
	WINDOW * write;
	 write = initscr();
		curs_set(FALSE);
        cbreak();
        raw();
        keypad(stdscr, TRUE);
        noecho();

	pthread_t watek[i];
	
		
		
		for(i=1; i<3; i++)
		{
			pthread_create(&watek[i], NULL, &point, NULL);
			
		}
	while(!koniec)
	{
			erase();
				mvprintw(position_pointy, position_pointx, "X");
			refresh();
			
		usleep(100);	
	}
		
		for(i=1; i<3; i++)
		{
			pthread_join(watek[i], NULL);
			
		}
	
	
	refresh();
	endwin();

	return 0;
}


void* point()
{
	 
	while(!koniec){
	
		position_pointx = position_pointx + 1;
		
	if(position_pointx==60){
			
			koniec = true;
			}
	
	usleep(1000000);	 
    }
	
return NULL;
}