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;
}