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

Czas

Ostatnio zmodyfikowano 2011-02-10 19:34
Autor Wiadomość
mesajah
Temat założony przez niniejszego użytkownika
Czas
» 2011-02-10 18:50:06
Chcę zrobić specjalny czas grze np. 10 min to 10 godz w grze
napisałem tylko
C/C++
int godz;
int min;

niby
C/C++
if( min >= 60 )
{
    if( godz > 23 )
    {
        godz = 0;
        min = 0;
    }
    else
    {
        godz = godz + 1;
        min = 0;
    }
}
ale przecież nic się nie będzie działo
to takie mam pytanie : Jak zrobić taki czas w grze
P-28143
WiecznyWem
» 2011-02-10 19:02:10
Startujesz odliczanie czasu
Potem:
C/C++
h = floor( time * x / 3600 );
m = floor( time * x / 60 ) - 60 * h;
s = time * x - 3600 * h - 60 * m;
Gdzie x-mnożnik czasu, time-zmienna przechowująca ilość sekund które upłynęły od startu, h-godziny, m-minuty, s-sekundy;

Sposób na obliczenie tego może być prostszy, podaję jedynie rozwiązanie którego kiedyś ja użyłem.

/edit: minusem tego jest to, że "mnożnik" musimy obczaić, a nie podać coś w stylu 10min - 10h
P-28144
mesajah
Temat założony przez niniejszego użytkownika
» 2011-02-10 19:19:06
ale mi chodzi o takie coś np.
Klikamy 1. Wyrusz na wyprawę
i mamy odliczanie 20 minut
P-28145
szyx_yankez
» 2011-02-10 19:21:58
Albo tak:
C/C++
#include <ctime>
#include <cstdio>

int main()
{
    int min = 0;
    int hou = 12;
    int speed = 1000; //czas w ms(milisekundach) ile ma trwać minuta w grze
    int tim = clock();
    while( true )
    {
       
        ( clock() > tim + speed ) ? min++, tim = clock()
            : 0;
        ( min >= 60 ) ? hou++, min = 0
            : 0;
        ( hou == 24 ) ? hou = 0
            : 0;
        printf( "Czas %d : %d\n", hou, min );
    }
}
[ cpp ]
P-28146
mesajah
Temat założony przez niniejszego użytkownika
» 2011-02-10 19:26:43
szyx idealnie , dzięki
proszę o zamknięcie tematu
doceniam też skrypty innych userów
P-28147
szyx_yankez
» 2011-02-10 19:31:19
Sam możesz zamknąć temat, jak go założyłeś.
P-28148
ison
» 2011-02-10 19:34:01
szyx_yankez
clock()
 nie zwraca liczby milisekund - może, ale musi
i moim zdaniem trochę nadużywasz operator '?' - nie można zamiast tego użyć najzwyklejszego warunku if?
P-28149
« 1 »
  Strona 1 z 1