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

Niezależne wykonywanie dwóch operacji w pętli

Ostatnio zmodyfikowano 2015-01-02 18:12
Autor Wiadomość
Resthor
Temat założony przez niniejszego użytkownika
Niezależne wykonywanie dwóch operacji w pętli
» 2014-12-31 00:12:22
Moja pętla wygląda w ten sposób, że sprawdza czy któryś z graczy nie jest już przypadkiem martwy:


while(heroHP>0 && enemyHP>0)


I w tym momencie chciałbym, aby gracze nawzajem się atakowali. Czyli po prostu od enemyHP odejmuję heroAttack, a od heroHP odejmuję enemyAttack. Dodatkowo chciałem wprowadzić coś takiego jak prędkość ataku. I tu pojawia się problem. Jak stworzyć kod, który czeka określoną ilość czasu dla każdego z graczy i wyprowadza atak? Chciałbym, żeby to wyglądało jak na tej osi czasu:


o---o---o---o---o---o---  ataki gracza 1
o-----o-----o-----o-----  ataki gracza 2
0---1---2---3---4---5---> sekundy


Czyli po prostu gracz 1 atakuje co sekunę, a gracz 2 co 1,5. Próbowałem użyć Sleep na różne sposoby, ale moje próby zakończyły się porażką. Jeśli ktoś mógłby mi pomóc, byłbym bardzo wdzięczny :)
P-123713
1aam2am1
» 2014-12-31 00:15:40
Tu trzeba zrobić pętle główną gry. Ona ma się nigdy nie zatrzymać.
Liczysz czas który minął od ostatniego ataku i jeżeli minął atakujesz a jeżeli nie to nie.
P-123714
Resthor
Temat założony przez niniejszego użytkownika
» 2014-12-31 00:19:11
No dobrze, a jakiego narzędzia użyć do sprawdzania czasu, który upłynął od ostatniego ataku?
P-123715
lectre
» 2014-12-31 00:37:09
Jeśli tworzysz grę w konsoli to biblioteka <ctime>.
P-123718
jegor377
» 2014-12-31 01:54:07
C/C++
#include <iostream>
#include <time.h>

void funkcjacostamrobiaca( unsigned long long int * timer )
{
    if( * timer + 50 < clock() )
    {
        wykonaj instrukcje np.uderzenia;
        * timer = clock();
    }
}

int main()
{
    unsigned long long int timer = clock();
    funkcjacostamrobiaca( & timer );
}

kod, który podałem jest pewnie badziewny, ale działa i ja z niego korzystam :)

PS jeżeli macie lepszy sposób to piszcie :)
P-123721
lekarz
Sory ten post jest do usuniecia
» 2015-01-01 14:20:51
usunac prosze
P-123782
jegor377
» 2015-01-02 18:12:53
czyli co pomogłem ci, czy nie? :)
P-123879
« 1 »
  Strona 1 z 1