Witam. Piszę program, który ma odzwierciedlić "Jednorękiego bandytę", czyli popularną grę hazardową. Interfejs składa się z 3 okienek. W każdym z nich może pojawić się 6 różnych znaków. Każdemu obrazkowi przypisałem liczbę. Najrzadszy może pojawić się w najwęższym przedziale. Przedział zwiększa się wraz z prawdopodobieństwem wystąpienia. Mam problem bo cały czas losuje mi 3 liczby z tego samego przedziału. Ma ktoś jakiś pomysł jak to zrobić aby losowano liczby z innych przedziałów?? Oto kod:
struct Rolka
{
int Wylosowana;
int RolkaID;
};
Rolka A[3];
void losowanie()
{
srand(time(NULL));
int WylosowanaLiczba;
for(int i=0;i<3;i++)
{
WylosowanaLiczba=rand()%21000000+1;
przypisywanie(WylosowanaLiczba,i);
}
}
void przypisywanie(int liczba, int index)
{
if(liczba>=1 && liczba<=1000000)
{
A[index].Wylosowana=1;
A[index].RolkaID=index+1;
}
if(liczba>=1000001 && liczba<=3000000)
{
A[index].Wylosowana=2;
A[index].RolkaID=index+1;
}
if(liczba>=3000001 && liczba<=6000000)
{
A[index].Wylosowana=3;
A[index].RolkaID=index+1;
}
if(liczba>=6000001 && liczba<=10000000)
{
A[index].Wylosowana=4;
A[index].RolkaID=index+1;
}
if(liczba>=10000001 && liczba<=15000000)
{
A[index].Wylosowana=5;
A[index].RolkaID=index+1;
}
if(liczba>=15000001 && liczba<=21000000)
{
A[index].Wylosowana=6;
A[index].RolkaID=index+1;
}
}