"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