[C++]Funkcje losujące - problem
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

[C++]Funkcje losujące - problem

AutorWiadomość
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:

C/C++
int liczba1 = //losowa wartość od 1 do 6
int liczba2 = //losowa wartość od 1 do 6
int liczba3 = //losowa wartość od 1 do 6 
int wynik = liczba1 + liczba2 + liczba3;
 
A potem sprawdzi czy podana liczba jest równa wylosowanym:

C/C++
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ś? 
P-16400
» 2010-04-27 16:59:39
C/C++
srand( time( NULL ) ); //inicjalizacja
for( int i = 0; i < 1; i++ ) liczba += rand() & 5 + 1;
//losujemy od 0 do 5 i dodajemy 1
P-16401
Temat założony przez niniejszego użytkownika
» 2010-04-27 17:01:25
Wielkie dzięki.
P-16402
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?
P-16403
» 2010-04-27 17:17:45
C/C++
int myRand( int min, int max )
{
    double val;
    // pseudorandom floating point value in the range [0..1)
    val = rand() *( 1.0 /( RAND_MAX + 1.0 ) );
    return int(( val *( max - min + 1 ) ) + min );
}
P-16404
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.
P-16405
» 2010-04-27 17:25:53
for( int i = 0; i < 1; i++ ) liczba += rand() % 5 + 1;
P-16407
» 2010-04-27 17:29:00
Bo było ogólnie źle zrobione.
P-16408
« 1 » 2
 Strona 1 z 2Następna strona