Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Timer w konsoli C++


Rekomendowane odpowiedzi

Opublikowano

Hej!

Mam mały problem... bo ostatnio tworzę TETRISA na konsolę

i już większość rzeczy mam... i tylko nie mam pomysłu jak zrobić by samoistnie klocki opadały...

 

funkcja sleep(); odpada... bo podczas tej 'sekundy' co sleep(); będzie opóźniać resztę programu, obsługa klawiatury powinna działać...

 

więc jeśli ktoś ma jakiś pomysł to czekam :)

Opublikowano

Pobieraj czas od uruchomienia programu. W momencie kiedy chcesz aby minęła minuta, zapisujesz czas do zmiennej. Następnie przy każdej iteracji odejmujesz obecny czas od czasu ze zmiennej i sprawdzasz czy jest większy/równy sekundzie

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano

Możesz skorzystać ze std::this_thread::sleep_for. Rozwiązanie cross-platform.

Opublikowano

I dlatego rozdziela się wątki logiki, inputu oraz rysowania gry.

 

//edit: ale jeżeli nie chcesz tego rozdzielać, to w głównej pętli ciągle sprawdzasz, czy jest coś w stdin bufferze

Opublikowano

W sumie to najłatwiej byłoby to chyba podzielić to na dwa wątki, z czego w jednym trwałoby sleep(), a w drugim można by wpisywać :v

jw19e8.png

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...