Miten tehdään semmone juttu, että kun ukon onni on 20, niin sen ukon voiton mahdollisuus kilpailussa on 40%, ja kun sen onni kasvaa kahdella, niin voiton mahdollisuus on 44% jne...
Jos nyt en aivan väärässä ole niin ihan yksinkertaisesti onni muutetaan prosenteiks kertomalla se kahdella ja ja toivottavasti osaat prosentti laskut koska.
Nii mutta voisko joku kirjottaa valmistaa koodia?
lainaus:
Nii mutta voisko joku kirjottaa valmistaa koodia?
vm% = onni% * 2
Ja ukon voiton tai häviön ratkaiseminen tapahtuu vertaamalla satunnaislukua väliltä 1 - 100 voiton mahdollisuuden prosenttiin:
RANDOMIZE TIMER IF INT(RND * 100) + 1 < vm% THEN PRINT "Ukko voitti!" ELSE PRINT "Ukko hävisi!" END IF
Satunnaisluvuista:
http://qb.ohjelmointiputka.net/?RANDOMIZE
http://qb.ohjelmointiputka.net/?RND
Tuollaiset algoritmit ovat pelikohtaisia, eikä voiton mahdollisuuden kannata antaa riippua pelkästään onnesta.. Eniveis..
_________________________ | onni x | voiton mahd. y | |--------|----------------| | 20 | 40% | | 40 | 44% | '------'------------------'
Jos tuossa nyt kerran on lineaarinen riippuvuus niin:
(kulmakerroin)
k = (40-44) / (20-40) = -4 / -20 = 4 / 20 = 1 / 5
(ratkaistaan a)
y = k(x + a)
= kx + ka
ka = y - kx
a = (y - kx) / k
= (40 - (20 / 5)) * 5
= 36 * 5
= 180
(eli)
y = k(x + 180)
(eli siis)
voitonmahdollisuus = (onni + 180) / 5Edit: Ai juma, luin väärin, katsoin että onni kasvaa kaksinkertaiseksi :-) No huu keers.
Aihe on jo aika vanha, joten et voi enää vastata siihen.