Pasterz Opublikowano 21 Maja 2007 Udostępnij Opublikowano 21 Maja 2007 cout <<"\nZatakowales wroga z moca: " <<hero.stats.sila - rand() % 5 +1; wrog.stats.zycie -= hero.stats.sila; cout <<"\nWrog ma teraz: " <<wrog.stats.zycie<<" zycia"; cout <<"\nWrog zatakowal cie z moca: " <<wrog.stats.sila - rand() % 5 +1; hero.stats.zycie -= wrog.stats.sila; cout <<"\nMasz teraz: " <<hero.stats.zycie<<" zycia"; Mam taki kod i nie wiem dlaczego gdy jest atak to nie odejmuje mi tyle ile wylosowało tylko ciągle 12. :blink: Czy ktoś by mi mógł powiedzieć co ja źle zrobiłem. Z góry dziękuje. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 21 Maja 2007 Udostępnij Opublikowano 21 Maja 2007 Przed losowaniem wywołaj funkcję srand: srand(time(NULL)); Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pasterz Opublikowano 22 Maja 2007 Autor Udostępnij Opublikowano 22 Maja 2007 srand(time(NULL)); cout <<"\nZatakowales wroga z moca: " <<hero.stats.sila - rand() % 5 +1; wrog.stats.zycie -= hero.stats.sila; cout <<"\nWrog ma teraz: " <<wrog.stats.zycie<<" zycia"; cout <<"\nWrog zatakowal cie z moca: " <<wrog.stats.sila - rand() % 5 +1; hero.stats.zycie -= wrog.stats.sila; cout <<"\nMasz teraz: " <<hero.stats.zycie<<" zycia"; break; Mam tak i dalej odejmuje mi jedynie 12. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 23 Maja 2007 Udostępnij Opublikowano 23 Maja 2007 w nagłówku dodaj <ctime> i ma być srand (static_cast<int>(time(NULL)); (o ile dobrze pamiętam ;P) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 23 Maja 2007 Udostępnij Opublikowano 23 Maja 2007 #include <iostream> #include <conio.h> using namespace std; int main() { int ZycieWroga = 100; int ZycieGracza = 100; int obrazenia; cout << "Zycie Gracza: " << ZycieGracza << endl; cout << "Zycie Wroga: " << ZycieWroga << endl; cout << "Wcisnij dowolny klawisz by zaatakowac..."; getch(); srand(time(NULL)); obrazenia = rand() % 5 + 1; cout << "Zadane obrazenia: " << obrazenia << endl; cout << "Wrog ma teraz: " << ZycieWroga - obrazenia; getch(); return 0; } Powyższy kod mi działa bez problemów. Uprościłem trochę (nie kombinowałem z siłą itp.), ale możesz sobie to sam dorobić. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Pasterz Opublikowano 12 Czerwca 2007 Autor Udostępnij Opublikowano 12 Czerwca 2007 Mam jeszcze jedno pytanko jak zrobić aby nie było liczb ujemnych przy losowaniu. Z góry wielkie dzięki. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Will Opublikowano 12 Czerwca 2007 Udostępnij Opublikowano 12 Czerwca 2007 int MAKSYMALNA_LICZBA=47; int wylosowana; wylosowana=rand() % MAKSYMALNA_LICZBA + 1; tu ustawiasz zakres losowania pokombinuj, to nie trudne.. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Vardi Opublikowano 12 Czerwca 2007 Udostępnij Opublikowano 12 Czerwca 2007 Zawsze możesz skorzystać z unsigned int. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
kryniak Opublikowano 13 Czerwca 2007 Udostępnij Opublikowano 13 Czerwca 2007 Albo dołączyć cmath i użyć funkcji abs() Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się