Showing posts with label izbor. Show all posts
Showing posts with label izbor. Show all posts

Saturday, December 05, 2015

Biranje slučajnih brojeva, Random u C# programskom jeziku


U programskim jezicima ne postoji slučajnost ili izaberi šta god hoćeš. Sve je savršeno precizno i tačno se zna šta će koja naredba izvršiti. Međutim i jedna od najvećih potreba u pravljenju igrica je da kompjuter sam nasumično izabere jednu od ponuđenih opcija. Npr. kad pravite kompjutersku igricu u kojoj objekti lete prema vama, imaće te potrebu da se objekti i pored toga što se primiču i uvećavaju prema vama da program sam odluči da li objekat se pomera u levo ili desno. Tako i stotine sličnih situacija i detalja u igrici moraju da biraju jednu od više opcija nasumično. Inače bi svaki pokret igrice kad god se pokrene uvek bio isti i vi bi ste tačno znali unapred svaki potez igrice koji će se desiti. Drugi, očigledniji primer je loto. U Srbiji se za jednu kombinaciju bira 7 brojeva od 1 do 39. Da bi računar mogao da nasumično bira brojeve, skoro svi programski jezici u kojem programirate mora da sadrži pseudo generatore biranja slučajnih brojeva.


( Random, pseudo generator biranja brojeva se koristi najviše u igrama na sreću )

U C# programskom jeziku, pseudo generator biranja slučajnih brojeva je klasa Random, koja se već nalazi u imenskom prostoru System, tako da nemate potrebe da naknadno uvozite klasu u vaš program kako bi ste je mogli koristiti. Korišćenje naredbe Random u C# programskom jeziku je mnogo jednostavnije nego u C ili C++ programskom jeziku. Metoda Next() je preklopljena i njene druge verzije vam omogućavaju da odredite minimalnu i maksimalnu vrednost opsega. Ona podrazumevano vraća pozitivan integer u opsegu od 0 do maksimalne vrednosti Int32. Ali ako odredite opseg od jednog broja do drugog, možete birati i negativne brojeve. Npr. ako hoćete da birate broj između -100 i 100 onda će te inicijalizovati metodu ovako.

Random rnd = new Random();
rnd.Next(-100, 101);

Nema potrebe da razmišljate da će svaki put kad izvršite ovaj kod da dobijate isti broj jer podrazumevani konstruktor za klasu Random dodeljuje generatoru slučajnih brojeva početnu vrednost koja je vremenski zavisna, tako da se smanjuje sekvenca biranja istih brojeva. Klasa Random sa njenom metodom Next() je sasvim dovoljna da precizno radite testove, iako su u nekim projektima uključeni razne vrste algoritma da bi slučajni broj bio dodatno naizmeničan broj.

Kako da napravim jednostavan program za izvlačenje loto brojeva?