Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

pobieranie dokładnego czasu

Ostatnio zmodyfikowano 2011-06-18 19:54
Autor Wiadomość
CTRL85
Temat założony przez niniejszego użytkownika
pobieranie dokładnego czasu
» 2011-06-18 16:34:48
Potrzebuję pobrać dość dokładny czas (najlepiej 1/1000 sekundy), ponieważ robię grę ćwiczącą refleks.
Na razie czas pobieram
czas = time (NULL);
ale, to rozwiązanie nie jest dokładne, ponieważ pokazuje z dokładnością do jednej sekundy.

Szukałem w Google, ale nie było to dość jasno wytłumaczone, albo nie o takie coś mi chodziło.

pozdrawiam
P-34253
szyx_yankez
» 2011-06-18 16:50:56
Funkcja
clock() + CLOCKS_PER_SEC
 z
< ctime >
 powinny załatwić sprawę.
Lekturka ;p
P-34254
yoogi
» 2011-06-18 16:58:30
Tu masz przykład pobrania godziny:
C/C++
#include <windows.h>
#include <iostream>

using namespace std;
int main()
{
    SYSTEMTIME SystemTime;
   
    GetSystemTime( & SystemTime );
    cout << SystemTime.wHour << endl;
    cout << SystemTime.wMinute << endl;
    cout << SystemTime.wSecond << endl;
    cout << SystemTime.wMilliseconds << endl;
   
    cout << SystemTime.wYear << endl;
    cout << SystemTime.wDay << endl;
    cout << SystemTime.wMonth << endl;
    cout << SystemTime.wDayOfWeek << endl;
   
   
    GetLocalTime( & SystemTime );
    cout << SystemTime.wHour << endl;
    cout << SystemTime.wMinute << endl;
    cout << SystemTime.wSecond << endl;
    cout << SystemTime.wMilliseconds << endl;
   
    cout << SystemTime.wYear << endl;
    cout << SystemTime.wDay << endl;
    cout << SystemTime.wMonth << endl;
    cout << SystemTime.wDayOfWeek << endl;
   
    getchar();
    return 0;
}

A jeśli masz zamiar pobrać dużo bardziej dokładną godzinę, to zapraszam do artykułu po niżej. Artykuł jest poświęcony innej tematyce, ale masz tam pobranie dokładniej godziny.
http://xion.org.pl/productions/texts/coding/game-programming/real-time-loop/
P-34255
CTRL85
Temat założony przez niniejszego użytkownika
» 2011-06-18 18:01:02
bardzo dziękuję za udzieloną pomoc :)
P-34259
DejaVu
» 2011-06-18 18:35:18
To nie jest dokładny czas. Użyj funkcji QueryPerformanceCounter.
P-34262
yoogi
» 2011-06-18 18:52:54
Ta funkcja jest opisana w artykule.
P-34263
CTRL85
Temat założony przez niniejszego użytkownika
» 2011-06-18 19:54:11
Nie potrzebuję bardziej dokładnego czasu :) Zrobiłem to tak:
C/C++
//losowanie
czas = clock();
cin >> zgadnieta;
czy_dobrze();
while( znaki[ losowanie ] != zgadnieta )
{
    cout << "Niesety, zly klawisz!" << endl;
    cin >> zgadnieta;
    czy_dobrze();
}
if( znaki[ losowanie ] == zgadnieta )
{
    czas2 = clock();
    cout << "Brawo! Twoj czas to: " << difftime( czas2, czas ) / 1000 << " sekundy" << endl;
    getch();
}

Dodam jeszcze, żeby powtarzało np 10 razy, obliczało średnią itp
P-34268
« 1 »
  Strona 1 z 1