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

Problem z wykonującą się całą pętlą while

Ostatnio zmodyfikowano 2014-10-24 21:13
Autor Wiadomość
Fanatone
Temat założony przez niniejszego użytkownika
Problem z wykonującą się całą pętlą while
» 2014-10-24 21:02:17
Witam tak jak w nazwie tematu. Nie mogę sobie poradzić z zakończeniem pętli w odpowiednim momencie.
Na razie testuje sobie ubogą wersję walki pomiędzy dwoma graczami.

C/C++
while( g1.hp > 0 && g2.hp > 0 )
{
    tura++;
   
    int atak1 = rand() %( g1.Amax - g1.Amin + 1 ) + g1.Amin;
    g2.hp = g2.hp - atak1;
    cout << tura << ": " << g1.nazwa << " zadaje " << g2.nazwa << " " << atak1 << " obrazen. (" << g2.nazwa << " " << g2.hp << " hp)\n";
   
    int atak2 = rand() %( g2.Amax - g2.Amin + 1 ) + g2.Amin;
    g1.hp = g1.hp - atak2;
    cout << tura << ": " << g2.nazwa << " zadaje " << g1.nazwa << " " << atak2 << " obrazen. (" << g1.nazwa << " " << g1.hp << " hp)\n";
}

Chciałbym zrobić gdy g1.hp lub g2.hp jest mniejsze od 0 to już nie wykonuje się drugi fragment kodu. Już pisałem przeróżne instrukcje warunkowe na atak1 i atak2 lecz nic to nie dało. Zresztą chciałbym aby pętla while załatwiała wszystko i spełniała swoje zadanie czyli by się wykonywała gdy g1.hp > 0 && g2.hp > 0. Chciałbym aby mi ktoś wytłumaczył ponieważ sam chciałbym to zrealizować. Dziękuje i pozdrawiam.
P-119329
1aam2am1
» 2014-10-24 21:09:03
Pomiędzy atakami dwóch graczy wstaw warunek if warunkujący wyjście z pętli (gdy gracz g2 ma mniej niż zero to break)
P-119330
Fanatone
Temat założony przez niniejszego użytkownika
» 2014-10-24 21:13:46
Dziękuje. Problem kilku dni rozwiałeś/łaś w ciągu 7 minut. :)
P-119332
« 1 »
  Strona 1 z 1