[C++]Funkcje losujące - problem
Ostatnio zmodyfikowano 2010-04-28 16:13
filipesq Temat założony przez niniejszego użytkownika |
[C++]Funkcje losujące - problem » 2010-04-27 16:51:30 Byłbym wdzięczny gdyby ktoś napisał mi jak używać funkcji rand i srand oraz która lepiej nada się do mojego projektu. Otóż tworzę grę w kości w allegro. Gracz podaje liczbę (od 2 do 12), a następnie komputer wylosuje wartość 3 zmiennych i zsumuje je: int liczba1 = int liczba2 = int liczba3 = int wynik = liczba1 + liczba2 + liczba3;
A potem sprawdzi czy podana liczba jest równa wylosowanym: if( wynik == liczba_uzytkownika )
Nie wiem czy do losowania liczb użyć rand, czy srand oraz jak wylosować liczbę z danego przedziału. Wyjaśni mi ktoś? |
|
lenrokskate |
» 2010-04-27 16:59:39 srand( time( NULL ) ); for( int i = 0; i < 1; i++ ) liczba += rand() & 5 + 1;
|
|
filipesq Temat założony przez niniejszego użytkownika |
» 2010-04-27 17:01:25 Wielkie dzięki. |
|
filipesq Temat założony przez niniejszego użytkownika |
Nie działa!!! » 2010-04-27 17:12:58 A jednak! Twoje rozwiązanie nie działa! Owszem, losuje liczby, ale np. 1067,34,728 albo 100,564,1000! To chyba nie jest zakres od 1 do 6, nie? |
|
Elaine |
» 2010-04-27 17:17:45 int myRand( int min, int max ) { double val; val = rand() *( 1.0 /( RAND_MAX + 1.0 ) ); return int(( val *( max - min + 1 ) ) + min ); } |
|
filipesq Temat założony przez niniejszego użytkownika |
» 2010-04-27 17:21:48 Ufff... Tym razem działa. Ale jestem ciekaw czemu to z pętlą for nie działało. |
|
malan |
» 2010-04-27 17:25:53 for( int i = 0; i < 1; i++ ) liczba += rand() % 5 + 1; |
|
Elaine |
» 2010-04-27 17:29:00 Bo było ogólnie źle zrobione. |
|
« 1 » 2 |