Yllättävän vaikeaa on saada C++:lla oikeasti satunnaisia lukuja.
Tarvitsisin alkuun ihan vain oikeasti satunnaisesti (siis ei toistuvaa järjestystä) koodin joka arpoisi vaikka vain arvoja 1 ja 2 satunnaisessa järjestyksessä.
Käytän koodissani SDL:ää, siinä ei taida olla mitään valmiita funktioita moiseen?
Jos alustat satunnaisgeneraattorin vaikka ajalla ennen sen rand() kutsumista, niin toimii luultavasti riittävän hyvin.
std::srand(std::time(0)); //tehdään sata satunnaislukua int satunnaisluvut[100]; for (int i = 0; i<100; i++) { satunnaisluvut[i] = std::rand(); }
Jos tuo ei riitä, niin käyttöjärjestelmästä riippuen saattaa löytyä oikeaakin satunnaisuutta. Esim. Linux kerää laitteistosta satunnaista tavaraa ja täyttää sillä entropia-allasta josta voi sitten satunnaisuutta jonkin verran ammentaa.
Jos nämä ei riitä, niin sitten voit hankkia http://www.araneus.fi/products-alea-eng.html
Lisätään vielä, että vain arvoja 1 ja 2 saa näin:
int yks_tai_kaks = std::rand() % 2 + 1;
Aihe on jo aika vanha, joten et voi enää vastata siihen.