Hej, mam problem z funkcją Sleep() w SFMLu Najlepiej będzie mi wstawić kod i opisać co się dzieję:
if (moves < 2)
{
change_color(random_numbers, cards, i, j);
moves++;
if (moves == 1)
{
first_pick[0] = i;
first_pick[1] = j;
first_pick[2] = random_numbers[i][j];
}
else if (moves == 2)
{
second_pick[0] = i;
second_pick[1] = j;
second_pick[2] = random_numbers[i][j];
if (first_pick[2] == second_pick[2]) std::cout << "brawo" << std::endl;
else
{
Sleep(1000);
std::cout << "kiepsko";
}
}
}
Teraz opiszę mój problem, dlaczego std::cout << "kiepsko"; wykonuje się w tym samym czasie co funkcja change color? Gdy dochodzę do momentu, w którym ma się wykonać std::cout<< "kiepsko", wówczas funkcja change_color czeka 1 sekundę i dopiero wykonuje się równocześnie z coutem. Powinna najpierw wykonać się funkcja change_color, a następnie po 1 sekundzie wypisanie "kiepsko" na ekran. Dlaczego tak się nie dzieję?