Post by Marco Kurvers on Jul 22, 2024 20:24:36 GMT
Hier een voorbeeld uit het trucje van Gordon om kaarten te husselen met een mooi voorbeeld hoe je willekeurige getallen genereert.
Hieronder de code.
Vergeet niet de Multiline aan te zetten van de textbox.
Hieronder de code.
Public Class Form1
Private Sub btnGenereer_Click(sender As Object, e As EventArgs) Handles btnGenereer.Click
Dim ondergrens, bovengrens, aantal As Integer
Dim getallen As String = ""
ondergrens = txtOGrens.Text
bovengrens = txtBGrens.Text
aantal = txtAantal.Text
If ondergrens > bovengrens Then
Swap(ondergrens, bovengrens)
End If
For i As Integer = 1 To aantal
Dim getal As Integer
getal = Int(Rnd() * (bovengrens - ondergrens + 1)) + ondergrens
getallen &= $"{getal & vbNewLine}"
Next
txtGetallen.Text = getallen
End Sub
Private Sub Swap(ByRef a As Integer, ByRef b As Integer)
Dim c As Integer = a
a = b
b = c
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Randomize(0.5)
End Sub
Private Sub btnKaarten_Click(sender As Object, e As EventArgs) Handles btnKaarten.Click
Dim aantalKaarten As Integer
aantalKaarten = txtKaarten.Text
Dim kaarten(aantalKaarten) As Integer
Dim kaartenLijst As String = ""
For k As Integer = 1 To aantalKaarten
kaarten(k) = k
Next
For hussel = 1 To 40 'optioneel?
For kaart As Integer = 1 To aantalKaarten
Dim k1 As Integer = Int(Rnd() * aantalKaarten) + 1
Dim k2 As Integer = Int(Rnd() * aantalKaarten) + 1
Swap(kaarten(k1), kaarten(k2))
Next
Next
For k As Integer = 1 To aantalKaarten
kaartenLijst &= $"{kaarten(k) & vbNewLine}"
Next
txtGetallen.Text = kaartenLijst
End Sub
'Function Swap(a As Integer, b As Integer)
'Return (b, a)
'End Function
End Class
Vergeet niet de Multiline aan te zetten van de textbox.