"Tina Hoffmann" <tina@archmail.com> wrote in message
news:kYaa8.6900$yU3.865233975@news.orangenet.dk...
> Jeg forsøger at lave et program som skal vise et vilkårligt tal
> mellem 3 og 18 (simulerer et terningeslag med 3 almindelige
> terninger). Jeg har forsøgt med:
>
> Dim x As Integer
> Randomize
> For x = 3 To 18
> thevalue = Int((3 * 6 * Rnd) + 1)
> Text1.Text = thevalue
> Next x
>
Hej Tina
Du kan enten gøre således:
Public Function giveThreeDice() As Integer
Randomize
'Int((upperbound - lowerbound+ 1) * Rnd + lowerbound)
giveThreeDice = Int((18 - 3 + 1) * Rnd + 3)
End Function
Ovenstående funktion stemmer dog ikke overens med alm.
sandsynlighed, da funktionen har lige stor sandsynlighed for at
slå 10 som 18. Så en bedre udgave ville nok være følgende:
Public Function giveThreeDice2() As Integer
Dim intRes As Integer
Dim i As Integer
Randomize
For i = 1 To 3
intRes = intRes + Int((6 * Rnd) + 1)
Next i
giveThreeDice2 = intRes
End Function
Håber du kan bruge det til noget
.
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
Codito, Ergo Sum